更改小数点会使stargazer在数字之间留出额外的空间

更改小数点会使stargazer在数字之间留出额外的空间,r,latex,knitr,sweave,stargazer,R,Latex,Knitr,Sweave,Stargazer,我正在使用库stargazer在latex(Rstudio/knitr/swave)中生成表。 我需要将十进制分隔符更改为逗号(“,”),并且函数stargazer()在大多数情况下都有效。只有通过选项summary=false时,结果才会在数字之间留出额外的空格。 有人知道如何克服这个问题吗 <<results='asis'>>= library(stargazer) set.seed(0) x = matrix(rnorm(3),nrow = 1) y = matri

我正在使用库
stargazer
latex
(Rstudio/knitr/swave)中生成表。
我需要将十进制分隔符更改为逗号(“,”),并且函数
stargazer()
在大多数情况下都有效。只有通过选项
summary=false
时,结果才会在数字之间留出额外的空格。
有人知道如何克服这个问题吗

<<results='asis'>>=
library(stargazer)
set.seed(0)
x = matrix(rnorm(3),nrow = 1)
y = matrix(rnorm(9),nrow = 3)

stargazer(x,summary=FALSE)
stargazer(x,summary=FALSE,decimal.mark = ",")
stargazer(y,summary=TRUE,decimal.mark = ",")
@
=
图书馆(星探)
种子集(0)
x=矩阵(rnorm(3),nrow=1)
y=矩阵(rnorm(9),nrow=3)
星探(x,摘要=假)
stargazer(x,summary=FALSE,decimal.mark=“,”)
stargazer(y,summary=TRUE,decimal.mark=“,”)
@

检查生成的文本时,很明显,
stargazer
不会在逗号后添加任何空格。问题出在其他地方:

此问题的根源在于LaTeX默认情况下不将
识别为十进制分隔符。因此,在数学模式下,LaTeX会在每个
之后添加一个空格。描述了该问题,解决方案是包含该包

\documentclass{article}
\usepackage{icomma}
\begin{document}
<<results='asis', echo=FALSE, message = FALSE>>=
library(stargazer)
set.seed(0)
x = matrix(rnorm(3),nrow = 1)
y = matrix(rnorm(9),nrow = 3)

stargazer(x,summary=FALSE)
stargazer(x,summary=FALSE,decimal.mark = ",")
stargazer(y,summary=TRUE,decimal.mark = ",")
@
\end{document}
\documentclass{article}
\usepackage{icomma}
\usepackage{tabularx}
\newcolumntype{R}{>{$}r<{$}} % like an "r" column but in math mode
\begin{document}
<<results='asis', echo=FALSE>>=
library(xtable)
set.seed(0)
x = matrix(rnorm(3),nrow = 1)

print.xtable(
  xtable(x, caption = "", align = rep("R", 4)),
  include.rownames = FALSE,
  include.colnames = FALSE,
  format.args = list(decimal.mark = ","),
  caption.placement = "top")
@
\end{document}