遇到错误时,如何删除R创建的损坏的PDF文件?

时间:2019-06-26 01:50:04

标签: r pdf error-handling

我有一个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输出。

谢谢!

0 个答案:

没有答案