[R] data format issue
Gabor Grothendieck
ggrothendieck at gmail.com
Sun Dec 21 03:56:31 CET 2008
Use read.zoo and aggregate.zoo from zoo and
months, hours and as.chron from chron.
Note that we must read in col 1 as character to ensure leading
zeros don't get dropped. There are two mph columns and it is
assumed you want both:
Lines <- "LST inch mph Deg DegF DegF % volts Deg
mph w/m2
0506010000 0.00 13.6 218.1 36.8 -999 65.1 -999 -999 18.2 0.2
0506010005 0.00 12.9 214.3 36.8 -999 65.5 -999 -999 16.9 0.2
0506010010 0.00 14.4 215.7 36.9 -999 65.4 -999 -999 20.4 0.2
0506010015 0.00 13.8 215.8 36.8 -999 65.7 -999 -999 19.7 0.3
0506010020 0.00 11.9 213.4 36.8 -999 65.6 -999 -999 14.6 0.2
0506010025 0.00 12.7 212.4 36.8 -999 65.4 -999 -999 16.9 0.2
0506010030 0.00 14.1 215.8 36.8 -999 65.9 -999 -999 19.1 0.2
0506010035 0.00 14.8 217.2 36.7 -999 66.2 -999 -999 20.4 0.2
0506010040 0.00 16.2 222.0 36.8 -999 66.6 -999 -999 20.2 0.2
0506010045 0.00 13.6 219.5 36.7 -999 66.6 -999 -999 18.4 0.2
0506010050 0.00 14.8 217.6 36.7 -999 66.2 -999 -999 20.0 0.2
0506010055 0.00 13.1 214.8 36.7 -999 65.9 -999 -999 20.2 0.2
0506010100 0.00 12.2 214.3 36.7 -999 65.2 -999 -999 15.6 0.2
0506010105 0.00 14.2 207.8 36.7 -999 65.0 -999 -999 19.9 0.2
0506010110 0.00 15.4 207.0 36.7 -999 64.4 -999 -999 20.2 0.2
0506010115 0.00 17.2 205.9 36.7 -999 64.5 -999 -999 22.1 0.2
0506010120 0.00 16.8 208.9 36.8 -999 65.0 -999 -999 21.9 0.2
0506010125 0.00 18.4 214.0 36.9 -999 65.1 -999 -999 26.4 0.2
0506010130 0.00 17.3 214.7 37.0 -999 65.5 -999 -999 24.0 0.2
0506010135 0.00 18.4 214.3 37.1 -999 65.2 -999 -999 24.9 0.2
0506010140 0.00 19.6 216.6 37.3 -999 65.3 -999 -999 26.7 0.2
0506010145 0.00 19.7 220.5 37.5 -999 65.1 -999 -999 27.5 0.2
0506010150 0.00 19.6 215.5 37.6 -999 64.6 -999 -999 26.4 0.2
0506010155 0.00 21.8 220.1 37.8 -999 64.1 -999 -999 31.2 0.2
0506010200 0.00 23.4 222.9 37.9 -999 63.8 -999 -999 31.8 0.2
0506010205 0.00 24.0 221.7 37.9 -999 63.7 -999 -999 30.3 0.2
0506010210 0.00 24.2 223.4 38.0 -999 63.5 -999 -999 28.2 0.2
0506010215 0.00 23.8 224.9 38.0 -999 63.4 -999 -999 30.3 0.2
0506010220 0.00 23.9 225.1 38.1 -999 63.5 -999 -999 29.5 0.2
0506010225 0.00 23.9 227.4 38.1 -999 63.5 -999 -999 30.3 0.2
0506010230 0.00 23.9 226.0 38.0 -999 63.6 -999 -999 27.5 0.2
0506010235 0.00 21.5 221.4 38.0 -999 63.7 -999 -999 28.4 0.2
0506010240 0.00 22.3 222.6 37.9 -999 63.8 -999 -999 27.9 0.2
0506010245 0.00 21.5 223.9 37.9 -999 64.0 -999 -999 28.4 0.2
0506010250 0.00 22.2 226.7 37.8 -999 64.2 -999 -999 27.7 0.2
0506010255 0.00 21.9 223.5 37.8 -999 64.3 -999 -999 26.9 0.2
0506010300 0.00 22.0 223.2 37.7 -999 64.3 -999 -999
28.0 0.2"
library(zoo)
library(chron)
z <- read.zoo(textConnection(Lines), 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"), grep("mph", colnames(z))]
aggregate(mph, hours, mean)
On Sat, Dec 20, 2008 at 9:09 PM, Sherri Heck <sheck at ucar.edu> wrote:
> Dear all-
>
> I have a dataset (see a sample below - but the whole dataset is June 2005 -
> June 2008). The "LST" format is "YYMMDDHHmm" and I would like to get the
> hourly average of the "mph" for the summer months (spanning all years). I
> have been trying to use "aggregate" but am not having much success at all!
> any thoughts would be greatly appreciated.
>
> thanks-
>
> sherri
>
> LST inch mph Deg DegF DegF % volts Deg mph w/m2
> 0506010000 0.00 13.6 218.1 36.8 -999 65.1 -999 -999 18.2
> 0.2
> 0506010005 0.00 12.9 214.3 36.8 -999 65.5 -999 -999 16.9
> 0.2
> 0506010010 0.00 14.4 215.7 36.9 -999 65.4 -999 -999 20.4
> 0.2
> 0506010015 0.00 13.8 215.8 36.8 -999 65.7 -999 -999 19.7
> 0.3
> 0506010020 0.00 11.9 213.4 36.8 -999 65.6 -999 -999 14.6
> 0.2
> 0506010025 0.00 12.7 212.4 36.8 -999 65.4 -999 -999 16.9
> 0.2
> 0506010030 0.00 14.1 215.8 36.8 -999 65.9 -999 -999 19.1
> 0.2
> 0506010035 0.00 14.8 217.2 36.7 -999 66.2 -999 -999 20.4
> 0.2
> 0506010040 0.00 16.2 222.0 36.8 -999 66.6 -999 -999 20.2
> 0.2
> 0506010045 0.00 13.6 219.5 36.7 -999 66.6 -999 -999 18.4
> 0.2
> 0506010050 0.00 14.8 217.6 36.7 -999 66.2 -999 -999 20.0
> 0.2
> 0506010055 0.00 13.1 214.8 36.7 -999 65.9 -999 -999 20.2
> 0.2
> 0506010100 0.00 12.2 214.3 36.7 -999 65.2 -999 -999 15.6
> 0.2
> 0506010105 0.00 14.2 207.8 36.7 -999 65.0 -999 -999 19.9
> 0.2
> 0506010110 0.00 15.4 207.0 36.7 -999 64.4 -999 -999 20.2
> 0.2
> 0506010115 0.00 17.2 205.9 36.7 -999 64.5 -999 -999 22.1
> 0.2
> 0506010120 0.00 16.8 208.9 36.8 -999 65.0 -999 -999 21.9
> 0.2
> 0506010125 0.00 18.4 214.0 36.9 -999 65.1 -999 -999 26.4
> 0.2
> 0506010130 0.00 17.3 214.7 37.0 -999 65.5 -999 -999 24.0
> 0.2
> 0506010135 0.00 18.4 214.3 37.1 -999 65.2 -999 -999 24.9
> 0.2
> 0506010140 0.00 19.6 216.6 37.3 -999 65.3 -999 -999 26.7
> 0.2
> 0506010145 0.00 19.7 220.5 37.5 -999 65.1 -999 -999 27.5
> 0.2
> 0506010150 0.00 19.6 215.5 37.6 -999 64.6 -999 -999 26.4
> 0.2
> 0506010155 0.00 21.8 220.1 37.8 -999 64.1 -999 -999 31.2
> 0.2
> 0506010200 0.00 23.4 222.9 37.9 -999 63.8 -999 -999 31.8
> 0.2
> 0506010205 0.00 24.0 221.7 37.9 -999 63.7 -999 -999 30.3
> 0.2
> 0506010210 0.00 24.2 223.4 38.0 -999 63.5 -999 -999 28.2
> 0.2
> 0506010215 0.00 23.8 224.9 38.0 -999 63.4 -999 -999 30.3
> 0.2
> 0506010220 0.00 23.9 225.1 38.1 -999 63.5 -999 -999 29.5
> 0.2
> 0506010225 0.00 23.9 227.4 38.1 -999 63.5 -999 -999 30.3
> 0.2
> 0506010230 0.00 23.9 226.0 38.0 -999 63.6 -999 -999 27.5
> 0.2
> 0506010235 0.00 21.5 221.4 38.0 -999 63.7 -999 -999 28.4
> 0.2
> 0506010240 0.00 22.3 222.6 37.9 -999 63.8 -999 -999 27.9
> 0.2
> 0506010245 0.00 21.5 223.9 37.9 -999 64.0 -999 -999 28.4
> 0.2
> 0506010250 0.00 22.2 226.7 37.8 -999 64.2 -999 -999 27.7
> 0.2
> 0506010255 0.00 21.9 223.5 37.8 -999 64.3 -999 -999 26.9
> 0.2
> 0506010300 0.00 22.0 223.2 37.7 -999 64.3 -999 -999 28.0
> 0.2
>
> ______________________________________________
> 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