[R] separating data into columns
Jannis
bt_jannis at yahoo.de
Mon Jun 7 02:00:43 CEST 2010
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
sheck at 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 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