用R语言快速生成Latex表格

时间:2022-03-27 06:06:39

Latex是我非常需(tao)要(yan)的一个工具,奈何写论文总是需要它,有时候我们需要生成一些表格,但是Latex的表格编辑工具真的是太难用了……尤其是当我们有很多表格需要从R语言中生成的时候。后来我有幸发现了神器xtableR包,有了它,可以非常快速地生成Latex格式的表格。

首先当然是需要安装一下xtable包,然后假设我们有一个矩阵如下:

> data(iris)
> head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa

我们想要把这个head(iris)中的部分以table的形式弄到latex里,其实很方便,命令就是一行:

> xtable(head(iris),digits=3,caption="Head of Iris Data")
% latex table generated in R 3.3.2 by xtable 1.8-2 package
% Mon Mar 6 22:53:00 2017
\begin{table}[ht]
\centering
\begin{tabular}{rrrrrl}
\hline
& Sepal.Length & Sepal.Width & Petal.Length & Petal.Width & Species \\
\hline
1 & 5.100 & 3.500 & 1.400 & 0.200 & setosa \\
2 & 4.900 & 3.000 & 1.400 & 0.200 & setosa \\
3 & 4.700 & 3.200 & 1.300 & 0.200 & setosa \\
4 & 4.600 & 3.100 & 1.500 & 0.200 & setosa \\
5 & 5.000 & 3.600 & 1.400 & 0.200 & setosa \\
6 & 5.400 & 3.900 & 1.700 & 0.400 & setosa \\
\hline
\end{tabular}
\caption{Head of Iris Data}
\end{table}
>

其中函数中的digits=3控制输出精度,caption就是未来表格的名字。

然后就自动生成了Latex代码,然后我们随便找一个网上的Latex编辑器,例如sharelatex,打开以后将其粘贴进入里边的begin和end之间,右边编译一下就好了。

用R语言快速生成Latex表格

我经常需要给老板们发的报告里的Table,几乎都是这样生成的。