R:创建没有环境代码的Latex表

时间:2014-11-08 13:07:45

标签: r latex

如何在R中打印乳胶格式的表格(例如摘要统计信息,无回归输出),但没有像\begin{table}[!htbp] \centering这样的环境代码?

我尝试了Tools for making latex tables in R中列出的许多软件包。只有stargazer包似乎有一个抑制Latex环境代码的选项,即out.header=FALSE。但这种选择似乎没有效果。其他套餐似乎没有更少的选择。

背景:我有两张非常相似的表(在我的情况下是spearman和pearson相关性),我希望在Latex的一个表中有。我想简单地在第三个乳胶文件中调用R生成的乳胶格式的输出,最终在Latex文档中调用。 但如果还有其他可能性在一个.tex文档中创建两个R生成的Latex样式表,我很乐意使用它们。

2 个答案:

答案 0 :(得分:5)

您可以使用 xtable

执行此操作

这是默认行为:

> print(xtable(table(1:5)))
% latex table generated in R 3.1.1 by xtable 1.7-4 package
% Sat Nov 08 14:57:56 2014
\begin{table}[ht]
\centering
\begin{tabular}{rr}
  \hline
 & V1 \\ 
  \hline
1 &   1 \\ 
  2 &   1 \\ 
  3 &   1 \\ 
  4 &   1 \\ 
  5 &   1 \\ 
   \hline
\end{tabular}
\end{table}

如果您在floating = FALSE方法选项中加入print,则可以获得所需的结果:

> print(xtable(table(1:5)), floating = FALSE)
% latex table generated in R 3.1.1 by xtable 1.7-4 package
% Sat Nov 08 14:57:51 2014
\begin{tabular}{rr}
  \hline
 & V1 \\ 
  \hline
1 &   1 \\ 
  2 &   1 \\ 
  3 &   1 \\ 
  4 &   1 \\ 
  5 &   1 \\ 
   \hline
\end{tabular}

此处有非常细粒度的控件,但大多数选项都在? print.xtable中描述,而不是? xtable

答案 1 :(得分:0)

为什么不在第一步中将两个表合并为一个data.frame,然后为您的任务格式化组合的东西?你的问题中只有很少的细节,但我想这里的一些东西可以起作用:

x <- rbind( cor(mtcars, use="complete.obs", method="spearman"),
            cor(mtcars, use="complete.obs", method="pearson" ))
rownames( x )[12:22] <- paste( rownames( x )[12:22], "a", sep = "-" )
xLatex <- xtable( x )