如何从R向自定义LaTeX表添加重要星?

时间:2015-03-18 16:20:44

标签: r latex xtable stargazer significance

我有一个格式为的数据框:

PartitionA PartitionB HA HB IAB pval
All        Kingdom    5  3  2.3 0
All        Phylum     5  4  3.1 .09

最后一列中的p值与列IAB相关联。我试图将其转换为一个看起来像这样的LaTeX表:

\begin{tabular}{ccccc}
\hline
Partition $A$ & Partition $B$ & $H(A)$ & $H(B)$ & $MI_{AB}$ \\ 
\hline
All & Kingdom & 5 & 3 & 2.3^{***} \\
All & Phylum & 5 & 4 & 3.1 \\
\hline
\end{tabular}

我之前使用xtable从这样的数据帧生成基本的LaTeX表。我无法弄清楚如何通过R做的事情是根据我的数据框中的p值将重要星添加到最后一个LaTeX列。有没有办法使用像Stargazer或xtable这样的R包自动添加这些重要的星星?我没有使用线性模型来生成它们,这使得难以使用需要模型对象的包。我想有三个显着性水平:*对于p&lt; .05,**对于p&lt; .01,***为p < 0.001

1 个答案:

答案 0 :(得分:3)

查看symnum()函数。 (这是print.summary.lm()和其他人使用的)。 ?symnum帮助页面中有一个示例正好执行此操作

pval <- rev(sort(c(outer(1:6, 10^-(1:3)))))
symp <- symnum(pval, corr = FALSE,
               cutpoints = c(0,  .001,.01,.05, .1, 1),
               symbols = c("***","**","*","."," "))
noquote(cbind(P.val = format(pval), Signif = symp))

应该很容易根据自己的喜好进行自定义。