【发布时间】:2018-01-03 07:08:15
【问题描述】:
我试图了解 ggplot2 的 geom_bar 如何处理 NA。 帮助文件说:
library(ggplot2)
?geom_bar
na.rm:如果为 FALSE,则删除默认的缺失值并发出警告。如果为 TRUE,缺失值将被静默删除。
我正在尝试:
md <- data.frame(a = c(letters[1:5], letters[1:4], letters[1:3], rep(NA, 3)))
str(md); levels(md$a)
ggplot(data = md, mapping = aes(x = a)) +
geom_bar(na.rm = F)
它在没有警告的情况下运行,并为每个因子级别以及 NA 生成计数。有道理。
现在,我不想计算 NA。所以,我跑:
ggplot(data = md, mapping = aes(x = a)) +
geom_bar(na.rm = T)
但我仍然有图片中的 NA。为什么? 我错过了什么?
谢谢!
【问题讨论】:
-
澄清一下:我的问题不是关于“我可以将谁排除在 NA 之外”——我知道该怎么做。我的问题是:为什么 na.rm = T 在这种情况下不适用于 geom_bar?