У меня есть цикл for, который генерирует PDF-файл, содержащий несколько страниц графиков и гробов для каждой подкатегории в моем наборе данных с использованием 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 строк:
Вам нужно создать уникальный идентификатор с помощью tibble :: rowid_to_column ()
Проблема в том, что если в цикле возникает ошибка (например, на этапе манипулирования данными), поврежденный файл PDF для этой конкретной подкатегории все равно будет создан и не сможет быть открыт для просмотра в файле PDF. читатель.
[Ошибка в Acrobat Reader: при открытии этого документа произошла ошибка. Этот файл не может быть открыт, потому что у него нет страниц.]
Впоследствии это вызывает у меня большие проблемы, когда я хочу перезаписать файл PDF после исправления ошибки.
Есть ли способ, которым я могу получить имя поврежденного файла PDF и удалить его в случае возникновения ошибки в цикле? Чтобы я мог восстановить правильный вывод PDF после устранения ошибки.
Заранее спасибо!