I am sure there is a more sophisticated way, but I would do it like this:

hourindex <- round(as.numeric(YYMMDDHHmm)/100,digits=0)

hourly.means <- aggregate(dataset,hourindex,mean)

For aggregate you just need an index with the length of the amount of rows that your dataset has, that assigns a unique number to each hour.

Still I am sure there are ways to extract, for example, the amount of hours since origin from a zoo object and use this as the hourindex.

HTH
Jannis
sh...@ucar.edu schrieb:
Hi All-

I have been trying to separate data into columns - specifically the date - and then aggregate the rest of the data to calculate summer hourly means. However, now I would like to calculate hourly means just over one day at a time. And, I am not able to figure out how to do this. I read some help files that I think indicated that I can only use the method below for months, years and quarters. Perhaps just separating the date into the following columns would work - Yr Mon Day Hr Min???

I originally used "zoo" and "chron" as follows for the monthly means:


library(zoo)
library(chron)

z <- read.zoo("C:/R/SPL JJA 2006 2008.txt", header = TRUE, na.strings = -999,
format = "%y%m%d%H%M", FUN = as.chron,
colClasses = c("character", rep("numeric", 10)))

mph <- z[months(time(z)) %in% c("Jun", "Jul", "Aug"),]
mphagg <- aggregate(mph, hours, mean)


Here is a sample data set:

YYMMDDhhmm Precip mph Deg DegF Fuel Rel volts DegMx mphgust wm 0606010000 0.00 4.6 97.5 42.1 -999 39.5 -999 -999 5.2 0.3 0606010005 0.00 4.6 97.6 42.0 -999 38.8 -999 -999 5.7 0.3 0606010010 0.00 2.6 97.6 41.9 -999 36.9 -999 -999 3.5 0.3 0606010015 0.00 2.3 97.6 41.8 -999 37.1 -999 -999 3.7 0.3 0606010020 0.00 1.8 97.6 41.5 -999 36.3 -999 -999 1.8 0.3 0606010025 0.00 1.8 97.6 41.1 -999 36.1 -999 -999 1.8 0.3 0606010030 0.00 1.8 97.6 40.8 -999 36.1 -999 -999 1.8 0.3 0606010035 0.00 1.8 97.6 40.4 -999 35.3 -999 -999 1.8 0.3 0606010040 0.00 1.8 97.7 40.1 -999 36.0 -999 -999 1.8 0.3 0606010045 0.00 1.8 97.7 39.7 -999 36.7 -999 -999 1.8 0.3 0606010050 0.00 1.8 97.7 39.3 -999 37.3 -999 -999 1.8 0.3 0606010055 0.00 1.8 97.7 38.9 -999 38.0 -999 -999 1.8 0.3 0606010100 0.00 1.8 97.7 38.6 -999 38.9 -999 -999 1.8 0.3

Any help is appreciated-

Thanks-

Sherri Heck
University of Colorado

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


______________________________________________
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