首页 > 解决方案 > 使用 R markdown 或其他方法批量生成 PDF 文件?

问题描述

我有以下数据集:

Name Score
Amy    A   
Bob    B
Charlie C

我想生成三个 PDF 文件:

第一个:Amy.pdf,内容为“Amy,你的数学 101 成绩为 A”。

第二个:Bob.pdf,内容为“Bob,你的数学 101 成绩是 B”。

第三个:Charlie.pdf,内容为“查理,你的数学 101 成绩是 C”。

有没有一种简单的方法可以只用一个 R 或 R 降价文件来做到这一点?实际数据集中有数百个人。

标签: rr-markdown

解决方案


一种方法是将其创建为图形并将其导出为 pdf:

资料

d <- structure(list(Name = structure(1:3, .Label = c("Amy", "Bob", 
"Charlie"), class = "factor"), Score = structure(1:3, .Label = c("A", 
"B", "C"), class = "factor")), class = "data.frame", row.names = c(NA, 
-3L))

执行操作

for(i in 1:nrow(d)){
  pdf(file = paste0(d[i, "Name"], ".pdf"))
  plot(0:1, 1:0, bty = "n", type = "n", axes = F, xlab = "", ylab = "")
  text(.5, .5, paste0(d[i, "Name"], ", your score for MATH 101 is ", d[i, "Score"]))
  dev.off()
}

推荐阅读