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

Dimitri Liakhovitski dimitri.liakhovitski at gmail.com
Thu Jul 27 17:24:33 CEST 2017


Good point. cc'ing Hadley.

Well geom_bar help page clearly states:
na.rm: If FALSE, the default, missing values are removed with a warning. If
TRUE, missing values are silently removed.

But they are not being removed in my example - silently or loudly.

On Thu, Jul 27, 2017 at 11:18 AM, Jeff Newmiller <jdnewmil at dcn.davis.ca.us>
wrote:

> 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
> >>
>



-- 
Dimitri Liakhovitski

	[[alternative HTML version deleted]]



More information about the R-help mailing list