使用 siunitx、R、Hmisc::latex 对右侧定位不规则的数字分隔符进行格式化

使用 siunitx、R、Hmisc::latex 对右侧定位不规则的数字分隔符进行格式化

我发现鲍里斯关于siunitx在表格中实现数字格式的建议Hmisc::latex几乎正是我想要的: R、Sweave、Hmisc:漂亮的打印数字

但是,如果仔细查看表格,数字列与列标签的对齐情况会很差。使用多列标签(例如 cgroup)时,情况会更糟。在查看文档(第 15 页,表 9)对于 siunitx,我认为这是因为它将数字集中在小数点处。

是否可以使用的数字格式化函数,但在调用中将siunitx列对齐为(右对齐) ?\raggedleftHmisc::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}

相关内容