hadley wickham wrote: > I'd do this a little differently, using the reshape > (http://had.co.nz/reshape) and ggplot2 (http://had.co.nz/ggplot2) > packages: > > library(reshape) > library(ggplot2) > > # Get data in format required for reshape > df <- rename(df, c("OD" = "value")) > > # Summarise and compute errors > se <- function(x) sd(x)/sqrt(length(x)) > means <- cast(df, Mutant + Time ~ ., c(mean, se)) > > qplot(Time, mean, data=means, colour=Mutant, min = mean - se, max = > mean + se, geom=c("point","errorbar")) > >
I can certainly see the value of a more elegant/automated/higher-level solution (although knowing the base-graphics way of going about it can be helpful too). However, at least the first plot you suggest looks a little bit funny to me. Suppose that the x coordinates of the error bar are x_L (left edge of bars), x_0 (middle of bars/location of data point), and x_R (right edge of bars), and the y coordinates are y_B, y_0, and y_U (bottom [min], middle, and top [max]). The "errorbar" specification seems to add a series of segments from (x_L,y_B) of one point to (x_L,y_U) of the next [sorry if this is confusing, but I'm trying to describe a picture ...] (1) this seems like a funny default (I wouldn't normally want this line drawn if I specified "errorbars"), (2) even if one has the line, the x-positions of the segment endpoints still seem wrong (or at least a wrong default) -- I still think they should line up with the x-coordinates of the data Poking around http://had.co.nz/ggplot2/geom_errorbar.html hasn't resolved this (yet). I thought that breaking it down a bit might help, but it appears to do the same thing ... p = ggplot(means, aes(x=Time, y=mean, colour=Mutant,min=mean-se,max=mean+se)) p + geom_errorbar() Can you see what I mean, or am I confused/have an old version/etc. ? cheers Ben > sessionInfo() R version 2.5.1 (2007-06-27) i386-pc-mingw32 locale: LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252 attached base packages: [1] "splines" "grid" "stats" "graphics" "grDevices" "utils" "datasets" "methods" "base" other attached packages: ggplot2 colorspace RColorBrewer MASS proto reshape "0.5.5" "0.95" "1.0-1" "7.2-36" "0.3-8" "0.8.0" PS if one specifies "errorbars" without specifying min and max one gets the error Error in rbind(max, max, max, min, min, min) : cannot coerce type closure to list vector perhaps a more transparent error message could be supplied in this (admittedly stupid-user-error-obvious-in-hindsight) case? ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.