如果我在R中有一个负数值,我想用stargazer输出到乳胶代码中,我会得到类似的结果:
$$-$ 2$
Latex无法处理,因为前两个美元符号之间没有空格。如果stargazer解释负值,则会发生这种情况:
library("stargazer")
stargazer(-2, summary=F) # delete the minus sign to see the difference, it'll be: $2$
我该如何避免?获得$ - 2 $的乳胶完全没问题,并将其解释为数学,那么我怎样才能摆脱减号周围的额外美元符号,或者作为解决方法,在两个美元符号之间增加一个空格?我真正的桌子当然是巨大的,这使得手动更新变得不可行。
答案 0 :(得分:1)
设置align = T应该可以解决您的问题。 Stargazer然后使用dcolumn包并生成以下输出:
> stargazer(c(-0.2, 1, -2), summary = F, float = F, header = F, align = T)
\begin{tabular}{@{\extracolsep{5pt}} D{.}{.}{-3} D{.}{.}{-3} D{.}{.}{-3} }
\\[-1.8ex]\hline
\hline \\[-1.8ex]
-0.200 & 1 & -2 \\
\hline \\[-1.8ex]
\end{tabular}
如果出于某种原因,您不能或不想使用dcolumn包,您也可以手动替换不需要的标志:
t <- stargazer(c(-0.2, 1, -2), summary = F, float = F, header = F, align = F)
t <- gsub("\\$\\$\\-\\$", "\\$\\-", t) # substitute unwanted behaviour
write.table(t, row.names = F, col.names = F, quote = F) # recreate latex table
\begin{tabular}{@{\extracolsep{5pt}} ccc}
\\[-1.8ex]\hline
\hline \\[-1.8ex]
$-0.200$ & $1$ & $-2$ \\
\hline \\[-1.8ex]
\end{tabular}