2017-07-27 134 views
2

我想了解ggplot2的geom_bar如何对待NAs。 帮助文件说:na.rm = T治疗通过ggplot2的geom_bar

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) 

运行没有警告和每个因子的水平以及在NAS产生计数。说得通。

现在,我不希望纳入统计数字。所以,我跑:

ggplot(data = md, mapping = aes(x = a)) + 
    geom_bar(na.rm = T) 

但我仍然在图片中的NA。为什么? 我错过了什么?

谢谢!

+0

澄清:我的问题不是关于“我可以排除NAs被计数的人” - 我知道该怎么做。 我的问题是:为什么na.rm = T在这种情况下不适用于geom_bar? – user3245256

回答

-1

它的一个bug 剂量不能删除字符的情况下。这是讨论here