[R] na.rm = T treatment by ggplot2's geom_bar

Jeff Newmiller jdnewmil at dcn.davis.ca.us
Thu Jul 27 17:18:59 CEST 2017


I suspect this is by design. Questions about "why" should probably cc the contributed package maintainer(s).
-- 
Sent from my phone. Please excuse my brevity.

On July 27, 2017 7:49:47 AM PDT, Dimitri Liakhovitski <dimitri.liakhovitski at gmail.com> wrote:
>To clarify: my question is not about "who could I exclude NAs from
>being
>counted" - I know how to do that.
>My question is: Why na.rm = T is not working for geom_bar in this case?
>
>On Thu, Jul 27, 2017 at 8:24 AM, Dimitri Liakhovitski <
>dimitri.liakhovitski at gmail.com> wrote:
>
>> Hello!
>>
>> I am trying to understand how ggplot2's geom_bar treats NAs.
>> The help file says:
>>
>> library(ggplot2)
>> ?geom_bar
>> na.rm: If FALSE, the default, missing values are removed with a
>warning.
>> If TRUE, missing values are silently removed.
>>
>> I am trying it out:
>> 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)
>> It runs without warnings and generates counts for each factor level
>AS
>> WELL AS the NAs. Makes sense.
>>
>> Now, I don't want the NAs to be counted. So, I run:
>> ggplot(data = md, mapping = aes(x = a)) +
>>   geom_bar(na.rm = T)
>>
>> But I still have NAs in the picture. Why?
>> What am I missing?
>>
>> Thank you!
>> --
>> Dimitri Liakhovitski
>>



More information about the R-help mailing list