[R] separating data into columns
Gabor Grothendieck
ggrothendieck at gmail.com
Mon Jun 7 02:00:22 CEST 2010
This calculates hourly means:
> aggregate(z, trunc(time(z), "01:00:00"), mean)
Precip mph Deg DegF Fuel Rel volts DegMx
mphgust wm
(06/01/06 00:00:00) 0 2.375 97.625 40.8 NA 37.00833 NA NA
2.708333 0.3
(06/01/06 01:00:00) 0 1.800 97.700 38.6 NA 38.90000 NA NA
1.800000 0.3
Also note that in the examples section of help(read.zoo) is an example
of aggregating as you read the data in using read.zoo.
On Sun, Jun 6, 2010 at 7:40 PM, <sheck at ucar.edu> wrote:
> 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 at 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.
>
More information about the R-help
mailing list