Hi,
I would like to plot a bunch of tree ring width data (time series) using ggplots, but I'm having trouble figuring out how to do it.

My data is in a data.frame, with years as rownames and a distinct tree ring series in each column. So, something like this:

rwl<-matrix(rnorm(800), nrow = 100)
colnames(rwl) <- paste('V', 1:8, sep = '')
rownames(rwl)<-c(1900:1999)
rwl<-as.data.frame(rwl))

I have 2 specific things I'd like to do:
1) use stat_summary(), geom_line(), and either geom_smooth() or geom_ribbon() to plot the mean of the timeseries (e.g. V1:V8) and error bands or confidence limits around the mean for each year. I cannot figure out how to do this except for this really clunky way:

rwl$year<-as.numeric(rownames(rwl))
h<-ggplot(rwl, aes(x=year))
h+ geom_line(aes(y=V1))  #plots one of the timeseries
ymax=as.data.frame( t(apply(rwl[1:8], 1, summary,na.rm=TRUE )) )[,4]
ymin=as.data.frame( t(apply(rwl[1:8], 1, summary,na.rm=TRUE )) )[,2]
h + geom_ribbon(aes(ymin=ymin, ymax=ymax)) +geom_line(aes(y=rowMeans(rwl[1:8])))

2) I'd like to be able to plot all of the timeseries together, or plot them grouped by another variable (for example site), but I can't figure out how to get ggplot to plot all of the columns as Y data, without specifying each separate timeseries with a distinct +geom_line(aes(y="columnname").

Any suggestions on either problem would be greatly appreciated!

~Ali
--------------------
Alison Macalady
Ph.D. Candidate
University of Arizona
School of Geography and Development
& Laboratory of Tree Ring Research

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

Reply via email to