将缺失值传递给 ggplot 时,它非常友好,并警告我们它们存在。这在交互式会话中是可以接受的,但是在编写报告时,输出不会被警告弄得一团糟,尤其是在警告很多的情况下。下面的示例缺少一个标签,这会产生警告。
library(ggplot2)
library(reshape2)
mydf <- data.frame(
species = sample(c("A", "B"), 100, replace = TRUE),
lvl = factor(sample(1:3, 100, replace = TRUE))
)
labs <- melt(with(mydf, table(species, lvl)))
names(labs) <- c("species", "lvl", "value")
labs[3, "value"] <- NA
ggplot(mydf, aes(x = species)) +
stat_bin() +
geom_text(data = labs, aes(x = species, y = value, label = value, vjust = -0.5)) +
facet_wrap(~ lvl)
如果我们环绕suppressWarnings
最后一个表达式,我们会得到有多少警告的摘要。为了争论,假设这是不可接受的(但确实非常诚实和正确)。打印 ggplot2 对象时如何(完全)抑制警告?