我发现鲍里斯关于siunitx
在表格中实现数字格式的建议Hmisc::latex
几乎正是我想要的:
R、Sweave、Hmisc:漂亮的打印数字
但是,如果仔细查看表格,数字列与列标签的对齐情况会很差。使用多列标签(例如 cgroup)时,情况会更糟。在查看文档(第 15 页,表 9)对于 siunitx,我认为这是因为它将数字集中在小数点处。
是否可以使用的数字格式化函数,但在调用中将siunitx
列对齐为(右对齐) ?\raggedleft
Hmisc::latex
答案1
您可以查看table-format
文档第 51 页上的选项。
我可以根据您链接的答案用这个例子来说明。
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage{siunitx,booktabs}
\sisetup{group-separator={.},group-minimum-digits={3},
output-decimal-marker={,}}
\usepackage[noae]{Sweave}
\begin{document}
\SweaveOpts{concordance=TRUE}
<<>>=
library("Hmisc")
dat <- matrix(c(1000, 100, 10000, 10000,3.145,1700.42), 2)
@
<<echo=false,results=tex>>=
latex(dat,table=F,center='centering',file='',
booktabs=T,numeric.dollar=F,colheads=c("Col A","Col B","Col C"),
colnamesTexCmd="bfseries", col.just=c("S[table-format = 4]",
"S[table-format = 5]",
"S[table-format = 4.3]"))
@
\end{document}