我正在使用带有R Markdown和knitr的xtable来生成我用\ input {}调用的.tex文件.效果很好,但我还没有弄清楚如何创建像这里显示的多列.有谁知道怎么做到这个?
到目前为止,我正在使用:
tbl <- xtable(data, align="l r r r r r")
colnames(tbl) <- c("Variable",
"Mean", "Std Dev",
"Mean", "Std Dev",
"Difference")
caption(tbl) <- c("Table Title")
print(tbl,
include.rownames=FALSE,
caption.placement="top",
booktabs=TRUE,
type="latex",
file="output.tex")
Run Code Online (Sandbox Code Playgroud)
我想在每个"Mean"和"Std Dev"("治疗"和"控制")上有一个不同的分组标题.
或者,是否有更好的方法使用R Markdown/knitr自动生成表格?我不想手动编辑表格,因为报告需要自动生成.
更新: @agstudy:我是乳胶新手,但我认为这是我希望用xtable(或类似xtable)自动生成的输出:
\begin{tabular}{lrrrrr}
\toprule
& \multicolumn{2}{c}{Treatment} & \multicolumn{2}{c}{Control} & \\
\cmidrule(lr){2-3} \cmidrule(lr){4-5}
Variable & Mean & Std Dev & Mean & Std Dev & Difference \\
\midrule
var1 & 1 & 2 & 3 & 4 & 5 \\
\bottomrule …Run Code Online (Sandbox Code Playgroud) 我已经使用了knitr和LaTeX,但我想改用Markdown,因为这似乎与Word更兼容(htlatex和Pandoc工作,但它远非舒适).我目前的问题是在Hmisc包中找到latex()的替代品.我发现的唯一替代方法是xtable,但它似乎没有创建多列.
这是一个例子:
mx <- matrix(1:6, ncol=3)
rownames(mx) <- LETTERS[1:NROW(mx)]
colnames(mx) <- sprintf("Col %s", LETTERS[1:NCOL(mx)])
latex(mx, n.rgroup=c(2), rgroup=c("Nice!"),
n.cgroup=c(2,1), cgroup=c("First", "Second"),
file="",
ctable=TRUE)
Run Code Online (Sandbox Code Playgroud)
产生这个表:
