禁止在表中输出Hmisc latex()水平线(\ midrule)

阿修

我正在使用HmiscR中软件包来生成可复制的LaTex表,并希望取消\midrule默认在booktabs模式下生成的一些水平线()。我已经筛选了Hmisc文档以及tex.stackexchange和此处的许多Hmisc解决方案,但我不相信类似的答案(但是如果我错了,请纠正我)。

这是一个可以重现的最小示例:

library(Hmisc)    
myDF <- data.frame("foo" = c(1:10),
                       "bar" = rep(c("a","b"),5),
                       "baz" = c(21:30))

latex(myDF,
      file="",
      rowname = "",
      rowlabel = "",
      rgroup = c("Group A", "Group B", "Group C"),
      n.rgroup = c(3, 4, 3),
      booktabs = TRUE
      )

生成以下输出:

 %latex.default(myDF, file = "", rowname = "", rowlabel = "", rgroup = c("Group A",     "Group B", "Group C"), n.rgroup = c(3, 4, 3), booktabs = TRUE,     )%
\begin{table}[!tbp]
\begin{center}
\begin{tabular}{lrlr}
\toprule
\multicolumn{1}{l}{}&\multicolumn{1}{c}{foo}&\multicolumn{1}{c}{bar}&\multicolumn{1}{c}{baz}\tabularnewline
\midrule
{\bfseries Group A}&&&\tabularnewline
~~&$ 1$&a&$21$\tabularnewline
~~&$ 2$&b&$22$\tabularnewline
~~&$ 3$&a&$23$\tabularnewline
\midrule
{\bfseries Group B}&&&\tabularnewline
~~&$ 4$&b&$24$\tabularnewline
~~&$ 5$&a&$25$\tabularnewline
~~&$ 6$&b&$26$\tabularnewline
~~&$ 7$&a&$27$\tabularnewline
\midrule
{\bfseries Group C}&&&\tabularnewline
~~&$ 8$&b&$28$\tabularnewline
~~&$ 9$&a&$29$\tabularnewline
~~&$10$&b&$30$\tabularnewline
\bottomrule
\end{tabular}\end{center}
\end{table}

如何抑制输出中部分或全部'\ midrule'出现?

请注意,虽然我不喜欢使用来解决此问题Hmisc,但我有一些约束可以使rgroup标志以非常有效的方式解决。虽然我不相信xtablestargazer(例如)提供可用的替代方法,但是我肯定会接受其他软件包,只要我可以保留示例中提供的带有行分组的布局即可。

利斯特尔

我要处理的方法Hmisc::latex是尽可能地使其接近,捕获结果,使用正则表达式对其进行修复,然后进行打印。在这里使用正则表达式会使我感到内gui,因为我怀疑有一种专门构建的方式来做这些事情,但是经过几个小时的搜索后,我不再在乎了。

在RMarkdown中,

---
title: "Table without midrules"
author: "Edward Visel"
date: "12/3/2016"
header-includes:
   - \usepackage{booktabs}
output: pdf_document
---


```{r table, message=FALSE, results='asis'}
library(Hmisc)    
myDF <- data.frame("foo" = c(1:10),
                       "bar" = rep(c("a","b"),5),
                       "baz" = c(21:30))

tb <- capture.output(latex(myDF,
      file="",
      rowname = "",
      rowlabel = "",
      rgroup = c("Group A", "Group B", "Group C"),
      n.rgroup = c(3, 4, 3),
      booktabs = TRUE, 
      where = '!htbp'    # so table prints in correct location
      ))[-1]    # so LaTeX comment at beginning doesn't print

cat(grep('\\midrule', tb, value = TRUE, invert = TRUE))    # use gsub if you prefer
```

没有中规的桌子

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CSS中的水平线

来自分类Dev

椭圆中的水平线

来自分类Dev

在JTextPane中绘制水平线

来自分类Dev

散景中的无限水平线

来自分类Dev

检测图像中的水平线

来自分类Dev

牛d中的水平线

来自分类Dev

Markdown中的实线局部水平线

来自分类Dev

Android中的动画水平线

来自分类Dev

如何删除表格中的水平线?

来自分类Dev

摆脱plotCI中误差线的水平线

来自分类Dev

尝试删除bootstrap 3表中的水平线

来自分类Dev

在C中的位图图像中查找水平线

来自分类Dev

R中水平线中的位置字母

来自分类Dev

在C中的位图图像中查找水平线

来自分类Dev

如何在iTextSharp中绘制水平线?

来自分类Dev

如何在jqgrid中删除水平线

来自分类Dev

如何在大虾中设置水平线的颜色?

来自分类Dev

d3中数据驱动的垂直/水平线

来自分类Dev

在C#中向图表添加水平线

来自分类Dev

在phpWord中的水平线之后删除空间

来自分类Dev

InnoSetup:如何从向导页面中删除水平线

来自分类Dev

如何以编程方式在Android中制作水平线

来自分类Dev

在android小部件中添加水平线

来自分类Dev

在段落中插入水平线[Reportlab]

来自分类Dev

在Chart.js 2.0中绘制水平线

来自分类Dev

matplotlib中具有LineCollection的水平线?

来自分类Dev

在PDF或JPG中定位水平线的X&Y

来自分类Dev

引导程序模式页脚中的水平线超出窗口

来自分类Dev

如何匹配HTML5 canava中的水平线?