Thanks Alan and Gabor. Alanâs code appears to be the simplest to run and Gabor provided some further insight.
Tschüà Tony Meissner Principal Scientist (Monitoring) Resources Monitoring Group Science, Monitoring and Information Division Department for Water "Imagine" © â¢(ph) (08) 8595 2209 â¢(mob) 0401 124 971 Ã(fax) (08) 8595 2232 ⢠28 Vaughan Terrace, Berri SA 5343 PO Box 240, Berri SA 5343 DX 51103 ***The information in this e-mail may be confidential and/or legally privileged. Use or disclosure of the information by anyone other than the intended recipient is prohibited and may be unlawful. If you have received this e-mail in error, please advise by return e-mail or by telephoning +61 8 8595 2209 From: Allan Engelhardt [mailto:all...@cybaea.com] Sent: Thursday, 15 July 2010 3:09 PM To: Meissner, Tony (DFW) Cc: r-help@r-project.org Subject: Re: [R] taking daily means from hourly data This is one way: df <- data.frame(Time=as.POSIXct("2009-01-01", format="%Y-%m-%d") + seq(0, 60*60*24*365-1, 60*60), lev.morgan=3+runif(24*365), lev.lock2=3+runif(24*365), flow=1000+rnorm(24*365, 200), direction=runif(24*365, 0, 360), velocity=runif(24*365, 0, 10)) (df2 <- aggregate(df[ , -1], list(date=as.Date(df$Time)), FUN=mean, na.rm=TRUE)) Hope this helps Allan On 15/07/10 05:52, Meissner, Tony (DFW) wrote: I have a data frame (morgan) of hourly river flow, river levels and wind direction and speed thus: Time hour lev.morgan lev.lock2 lev.lock1 flow direction velocity 1 2009-07-06 15:00:00 15 3.266 3.274 3.240 1710.6 180.282 4.352 2 2009-07-06 16:00:00 16 3.268 3.272 3.240 1441.8 192.338 5.496 3 2009-07-06 17:00:00 17 3.268 3.271 3.240 1300.1 202.294 2.695 4 2009-07-06 18:00:00 18 3.267 3.274 3.241 1099.1 237.161 2.035 5 2009-07-06 19:00:00 19 3.265 3.277 3.243 986.6 237.576 0.896 6 2009-07-06 20:00:00 20 3.266 3.281 3.242 1237.6 205.686 1.257 7 2009-07-06 21:00:00 21 3.267 3.280 3.242 1513.3 26.080 0.664 8 2009-07-06 22:00:00 22 3.267 3.281 3.242 1819.5 264.280 0.646 9 2009-07-06 23:00:00 23 3.267 3.281 3.242 1954.4 337.137 0.952 10 2009-07-07 00:00:00 0 3.267 3.281 3.242 1518.9 260.006 0.562 11 2009-07-07 01:00:00 1 3.267 3.281 3.242 1082.6 252.172 0.673 12 2009-07-07 02:00:00 2 3.267 3.280 3.243 1215.9 190.007 1.286 13 2009-07-07 03:00:00 3 3.267 3.279 3.244 1093.5 260.415 1.206 : : : : : : : : : : : : : : : : : : Time is of class POSIXct I wish to take daily means of the flow, levels, and wind parameters and put them into a new dataframe. I envisage doing this with the following example code: morgan$fTime <- factor(substr(as.character(morgan$Time),1,10)) dflow <- tapply(morgan[,"flow"], morgan$fTime, mean) day <- tapply(morgan[,"Time"], morgan$fTime, mean) : : daily <- as.data.frame(cbind(day,dflow, dlev.morg,dlev.lock2, ...)) daily$day <- with(daily, as.POSIXct("1970-01-01", "%Y-%m-%d", tz="Australia/Adelaide") + day) rownames(daily) <- NULL Is there a more efficient way of doing this? I am running R-2.11.0 under Windows XP Tschüà Tony Meissner Principal Scientist (Monitoring) Resources Monitoring Group Science, Monitoring and Information Division Department for Water "Imagine" © *(ph) (08) 8595 2209 *(mob) 0401 124 971 *(fax) (08) 8595 2232 * 28 Vaughan Terrace, Berri SA 5343 PO Box 240, Berri SA 5343 DX 51103 ***The information in this e-mail may be confidential and/or legally privileged. Use or disclosure of the information by anyone other than the intended recipient is prohibited and may be unlawful. If you have received this e-mail in error, please advise by return e-mail or by telephoning +61 8 8595 2209 [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org<mailto: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. [[alternative HTML version deleted]]
______________________________________________ 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.