我有三个数据框,我想把它们放到 pdf 中。我为这三个数据框生成了 tex 文件。所以我有三个 tex 文件。我想将它们合并并在 R 中生成 pdf。现在我使用一些在线工具手动复制粘贴所有 tex 并生成 pdf。是否可以使用 R 合并并生成 pdf。
答案1
使用 Sweave
R 函数(或其后继函数knitr
),您无需.tex
为每个数据框创建一个文件。相反,您可以创建一个带有扩展名的 LaTeX 文件.Rnw
,并插入一个/多个 R 代码块(在带有<<>>=
和 的行之间@
),其中包含所有数据框和用于 LaTeX/逐字打印的 R 代码。一个带有 的示例Sweave
:
\documentclass{article}
\begin{document}
<<Data,echo=F,results=tex>>=
library(xtable)
# Making 3 data frames
df1 <- data.frame(Foo=c("Foo","Bar","Baz"),Bar=sample(1:49,3,replace=F))
df2 <- data.frame(Stuff=round(rnorm(10),2) ,Thing=round(rnorm(10),3))
df3 <- t(df1)
# show three data frames
xtable(df1, caption=names(df1))
xtable(df2, caption="Data frame 2")
xtable(df3, caption="Trasposed data frame")
@
\end{document}
Sweave 可以将其转换为真实.tex
文件。一种方法是从终端:
R CMD Sweave my3dataframes.Rnw
然后你可以编译为任何 tex 文件,例如:
pdflatex my3dataframes.tex
并使用你的 pdf 查看器阅读:
acroread my3dataframes.pdf
如果您不需要再次运行 pdflatex 来解决交叉引用,您可以使用单个命令制作 PDF:
R CMD Sweave -pdf my3dataframes.Rnw; acroread my3dataframes.pdf
注意:使用编辑器 RStudio,您只需记住编译和打开 PDF 的按钮在哪里。
无论如何,上述 MWE 的结果将是: