Sweave中的xtable:指定表格+对齐中的toprule或midrule
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sweave中的xtable:指定表格+对齐中的toprule或midrule相关的知识,希望对你有一定的参考价值。
我正在使用Sweave在R中生成一个自动报告。我想:
- 在位置(nrow -1)我想有一个toprule而不是midrule
- 将第一行对齐为居中,然后我想将数字对齐右边以对齐数字。
这是我的代码:
documentclass[a4paper,18pt]{article}
usepackage[top=2.5cm, left=2.5cm, right=2.5cm,bottom=2.5cm]{geometry}
usepackage{Sweave}
usepackage{booktabs}
makeatletter
defhrulefill#1{leavevmodeleadershrule@height#1hfill kernz@}
makeatother
egin{document}
SweaveOpts{concordance=TRUE}
<<xtable1, results=tex,echo=FALSE>>=
library(xtable)
> data
l w a m
x NA 515.0 0.22 127.83
y NA 75.0 0.45 33.75
z NA 85.0 0.45 38.25
xtab <- xtable(data)
hline <- c(-1,0,nrow(xtab)-1,nrow(xtab))
align(xtab) <- "lcccc"
print(xtab,booktabs=T,hline.after=hline)
@
end{document}
答案
从documentation,使用add.to.row
与hline.after=NULL
一起控制你从hline
矢量添加到线条的内容。
library(xtable)
xtab <- xtable(data)
hline <- c(-1,0,nrow(xtab)-1,nrow(xtab))
htype <- c("\toprule ", "\midrule ", "\toprule ","\bottomrule ")
print(xtab,add.to.row = list(pos = as.list(hline),
command = htype),
hline.after = NULL)
数据
data <- structure(list(l = c(NA, NA, NA), w = c(515, 75, 85), a = c(0.22,
0.45, 0.45), m = c(127.83, 33.75, 38.25)), class = "data.frame", row.names = c("x", "y", "z"))
以上是关于Sweave中的xtable:指定表格+对齐中的toprule或midrule的主要内容,如果未能解决你的问题,请参考以下文章