基本R - 输出基本R相关表 - > LaTex或文本

时间:2011-02-21 19:09:35

标签: r correlation

我正在使用http://myowelt.blogspot.com/2008/04/beautiful-correlation-tables-in-r.html

生成相关表

但是,在将文件输出到可用的LaTex文件或文本文件时,我没有成功。 我使用sink()将数据保存到文本文件是不成功的。

假设我使用以下命令:

corstarsl(lpp_axis1)

如何将输出传输到文本文件?我已经阅读了关于接收器的文档,我在某个地方错过了一步。 (我打开连接,执行命令,取消链接文件,然后什么也没找到。)

我也尝试在tex文件中使用xtable(cortstarsl(lpp_axis1))的输出但是我收到了“找不到元素表的错误。我不太了解Tex来跟踪问题的根源。

输出此数据的建议? 有关创建关联表的其他建议吗?

1 个答案:

答案 0 :(得分:5)

使用您链接到的网页中的代码,我得到(使用内置的airquality数据):

> require(Hmisc)
> require(xtable)
> xtable(corstarsl(airquality))
% latex table generated in R 2.12.1 by xtable 1.5-6 package
% Mon Feb 21 20:00:34 2011
\begin{table}[ht]
\begin{center}
\begin{tabular}{rlllll}
  \hline
 & ozone & solar.r & wind & temp & month \\ 
  \hline
ozone &  &  &  &  &  \\ 
  solar.r &  0.35*** &  &  &  &  \\ 
  wind & -0.60*** & -0.06  &  &  &  \\ 
  temp &  0.70*** &  0.28*** & -0.46*** &  &  \\ 
  month &  0.16  & -0.08  & -0.18*  &  0.42*** &  \\ 
  day & -0.01  & -0.15  &  0.03  & -0.13  & -0.01  \\ 
   \hline
\end{tabular}
\end{center}
\end{table}

那么问题是如何将此TeX输出转换为文件。这里capture.output()是一位朋友:

> capture.output(xtable(corstarsl(airquality)), file = "mytable.tex")

将代码输出到名为mytable.tex的文件:

$ cat mytable.tex 
% latex table generated in R 2.12.1 by xtable 1.5-6 package
% Mon Feb 21 20:01:03 2011
\begin{table}[ht]
\begin{center}
\begin{tabular}{rlllll}
  \hline
 & ozone & solar.r & wind & temp & month \\ 
  \hline
ozone &  &  &  &  &  \\ 
  solar.r &  0.35*** &  &  &  &  \\ 
  wind & -0.60*** & -0.06  &  &  &  \\ 
  temp &  0.70*** &  0.28*** & -0.46*** &  &  \\ 
  month &  0.16  & -0.08  & -0.18*  &  0.42*** &  \\ 
  day & -0.01  & -0.15  &  0.03  & -0.13  & -0.01  \\ 
   \hline
\end{tabular}
\    end{center}
\end{table}

对于“普通”分隔文本输出,可能要转储到文字处理程序或电子表格中,请尝试write.table(),例如:

> write.table(corstarsl(airquality), file = "mytable2.txt")

这会产生如下文件:

$ cat mytable2.txt 
"ozone" "solar.r" "wind" "temp" "month"
"ozone" "" "" "" "" ""
"solar.r" " 0.35***" "" "" "" ""
"wind" "-0.60***" "-0.06 " "" "" ""
"temp" " 0.70***" " 0.28***" "-0.46***" "" ""
"month" " 0.16 " "-0.08 " "-0.18* " " 0.42***" ""
"day" "-0.01 " "-0.15 " " 0.03 " "-0.13 " "-0.01 "

您可以根据自己的内容更改引用和分隔符 - 请参阅?write.table