Skip to content

geom_errorbar() issue in ggplot2

4 messages · Axel Urbiz, Thierry Onkelinx

#
Hello,

I'm getting a warning message from the reproducible example below.

Why would geom_errorbar() remove 2 cases in this case? Both upper and lower
limits of the error bar contain var1 and are within the axis limits.


df <- data.frame(var1 = seq(0, 1, 0.1), var2 = seq(0, 1, 0.1))
df$ll <- ifelse(df$var1 == 0, 0, df$var1 - 0.05)
df$ul <- ifelse(df$var1 == 1, 1, df$var1 + 0.05)
pp1 <- ggplot(data = df,
            aes(x = var2, y = var1)) +
            geom_line() + geom_point() +
            scale_x_continuous(limits = c(0, 1), breaks = seq(0, 1, 0.1)) +
            scale_y_continuous(limits = c(0, 1), breaks = seq(0, 1, 0.1))
pp1
pp2 <- pp1 + geom_errorbar(data=df,
              aes(ymin=ll,ymax=ul), width=0.02)
pp2
Warning message:
In loop_apply(n, do.ply) :
  Removed 2 rows containing missing values (geom_path).
Thanks for any pointers.

Best,
Axel.
#
The limits are more narrow than the data. ggplot2 treats data outside the
limits as NA.

ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek / Research Institute for Nature and
Forest
team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance
Kliniekstraat 25
1070 Anderlecht
Belgium

To call in the statistician after the experiment is done may be no more
than asking him to perform a post-mortem examination: he may be able to say
what the experiment died of. ~ Sir Ronald Aylmer Fisher
The plural of anecdote is not data. ~ Roger Brinner
The combination of some data and an aching desire for an answer does not
ensure that a reasonable answer can be extracted from a given body of data.
~ John Tukey

2015-04-23 12:06 GMT+02:00 Axel Urbiz <axel.urbiz at gmail.com>:

  
  
#
Thanks Thierry. So if a variable x = a, and the limits for x are [a, a+b],
is that data point considered outside the limits?

Thanks,
Axel.

On Thu, Apr 23, 2015 at 6:17 AM, Thierry Onkelinx <thierry.onkelinx at inbo.be>
wrote:

  
  
#
In this case the horizontal lines of the errorbars go output the limits.
And are therefore not displayed. Use coord_cartesian(xlim = 0:1) instead of
setting the limits in scale_x_continuous().

ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek / Research Institute for Nature and
Forest
team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance
Kliniekstraat 25
1070 Anderlecht
Belgium

To call in the statistician after the experiment is done may be no more
than asking him to perform a post-mortem examination: he may be able to say
what the experiment died of. ~ Sir Ronald Aylmer Fisher
The plural of anecdote is not data. ~ Roger Brinner
The combination of some data and an aching desire for an answer does not
ensure that a reasonable answer can be extracted from a given body of data.
~ John Tukey

2015-04-23 12:23 GMT+02:00 Axel Urbiz <axel.urbiz at gmail.com>: