我正在使用 ggplot2 生成 pdf 报告。代码看起来像这样
pdf()
for (){
p <- ggplot(..)
print(p)
}
dev.off()
有时由于数据质量 ggplot 无法生成绘图。可能有多种原因,我们不想检查所有可能的数据组合是否失败。我们只是想检查 ggplot 是否失败 - 并继续。这就是我想出的-可行,但是存在一些问题。
library(ggplot2)
p <- ggplot(mtcars, aes(wt, mpg)) +
geom_point()
p.bad <- ggplot(mtcars, aes(wt, as.character(mpg))) +
geom_point() +
scale_y_continuous()
pdf()
a <- try(print(p), silent = TRUE) # double printing
if (class(a)!='try-error'){
print(p)
}
b <- try(print(p.bad), silent = TRUE)
if (class(b)!='try-error'){
print(p.bad)
}
dev.off()
try(print) - 如果没有错误,则生成图表。有没有办法阻止它?这可能是最好的解决方案。如果我们执行以下操作 - 没有重复打印,但第二次尝试(打印)会生成空白页。
pdf()
a <- try(print(p), silent = TRUE)
b <- try(print(p.bad), silent = TRUE)
dev.off()
是否有另一种方法可以确定 ggplot 是否会产生错误?