我有一个for循环,可使用pdf()为数据集中的每个子类别生成一个包含多页图形和grobs的pdf文件。
下面是我的代码的大致框架:
for (i in group) {
file_path <- paste(i, "Report.pdf")
pdf(file_path)
# Data Manipulation
sub_data <- data %>%
filter(group == i) %>%
mutate( ... ) %>%
distinct( ... ) %>%
gather( ... ) %>%
spread( ... )
# Graph Plotting
gplot <- ggplot(sub_data, aes( ... )) +
geom_col( ... ) +
labs( ... ) +
theme( ... )
grid.arrange(gplot)
...
...
dev.off()
}
错误:输出的每一行都必须由键的唯一组合来标识。
密钥共享5行:
1,2,3
10,11
您是否需要使用tibble :: rowid_to_column()创建唯一的ID
问题是,如果循环内发生错误(例如,在数据操作阶段),则仍会创建该特定子类别的损坏的pdf文件,并且无法打开该文件以供在pdf中查看读者。
[Acrobat Reader中显示的错误:打开此文档时出错。该文件没有页面,因此无法打开。]
在纠正错误后,我想覆盖pdf文件时,这会给我造成很多麻烦。
有什么方法可以获取损坏的pdf文件的名称,并在循环中发生错误的情况下将其删除?解决错误后,我可以重新生成正确的pdf输出。
谢谢!