使用您提供的网页代码(使用内置的
airquality
数据),我得到以下结果:
> require(Hmisc)
> require(xtable)
> xtable(corstarsl(airquality))
\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
\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
。