我想要将几个数据框和图表放入pdf文件中。我知道Sweave和knitr,但他们都使用latex来创建一个pdf文件,我不希望代码的用户需要先下载Latex才能使用它。有没有办法将数据帧作为一个表(带有标题)和图形作为同一个文档发送?如果没有,有没有办法将数据帧发送到一个文档,将图表发送到另一个文档?我很高兴看到任何合理的方式,只要有可能使它全部自动化。
答案 0 :(得分:6)
一个基本的例子,
library(gridExtra); library(ggplot2)
ggsave("plotntable.pdf", arrangeGrob(qplot(mpg, cyl, data=mtcars),
tableGrob(mtcars[1:10, 1:4]), ncol=2))
答案 1 :(得分:3)
plotrix包具有函数addtable2plot
,因此您可以打开pdf设备并创建绘图,然后为表格创建一个空图(plot.new
和plot.window
)和使用addtable2plot
将数据框(如果足够小)放入空图中。
答案 2 :(得分:2)
是的,对于图表。
pdf(file = "pdf_demo.pdf")
plot(rnorm(10), rnorm(10))
dev.off()
有关详细信息,请参阅?pdf
;如果您使用的是ggsave
,请参见ggplot2
。
我对桌子不太确定。您可以使用pandoc
和Rmd
。或者只是将表格写为.csv
。至少,使用installr
包可以很容易地安装Pandoc。 编辑看起来像Pandoc使用LaTeX创建PDF。