我编写了一个R脚本来读取csv文件中的数据,并使用以下代码将这些数据打印到不同的Word Doc(docx)文件中。这是按预期工作没有任何故障。但我不知道要实现的是使用'knitr'或'sweave'来输出pdf文件。有人可以指导我如何使脚本输出pdf文件而不是docx?
<tomcat>/bin
答案 0 :(得分:0)
您可以使用gridExtra包:
library(gridExtra)
library(stringr)
lff <- list.files(path = "./data/", pattern = paste('*.csv*',sep=""),
full.names = TRUE, recursive = TRUE, include.dirs = TRUE)
for (i in lff) {
dt <- read.csv(i, header=TRUE)
pdf(paste0(str_replace(i, '.csv', ''),'.pdf'), height=11, width=8.5)
grid.table(dt)
dev.off()
}
答案 1 :(得分:0)
这是针对具有Sweave的knitr的解决方案,因为你需要循环一些东西,比如i
,基于你的Script.Rnw
会产生不同的结果,其他明智的循环将是无用的。请参阅以下代码:
## elements in `names` could also be parameters in your `Script.Rnw`
names<-c('first','second','third')
for (i in names) {
output.name<-paste0(i,'.tex')
knit2pdf('Script.Rnw',output = output.name)
}
最后你会得到'first.pdf','second.pdf','third.pdf'
对于shiva的情况,名称中的元素可以是她的csv文件的名称。根据@giac_man的评论,您可以在.Rnw
文件中编写如何读取csv文件,因为它们是csv我想你可以在xtable
文件中使用.Rnw
也打印你的csv文件,还需要LateX来获取这些PDF,我目前正在使用MikTex。