При передаче отсутствующих значений в 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?