Try pasting this into R (the first portion is from your post): Lines <- "LST in mph Deg DegF DegF2 % volts Deg mph2 w/m2 0509010000 0.00 7.8 216.9 45.1 -999 24.4 -999 -999 10.6 0.2 0509010005 0.00 8.6 206.6 45.1 -999 25.2 -999 -999 11.7 0.2 0509010010 0.00 7.8 199.2 44.9 -999 25.4 -999 -999 12.8 0.2 0509010015 0.00 7.7 197.4 44.8 -999 25.4 -999 -999 10.4 0.2 0509010020 0.00 7.6 203.9 44.8 -999 25.3 -999 -999 10.0 0.2 0509010025 0.00 9.3 200.9 44.9 -999 25.3 -999 -999 11.8 0.2 0509010030 0.00 9.4 200.3 44.7 -999 25.5 -999 -999 12.2 0.2 0509010035 0.00 10.0 199.2 44.6 -999 25.9 -999 -999 13.0 0.2 0509010040 0.00 9.5 201.5 44.5 -999 25.9 -999 -999 13.3 0.2 0509010045 0.00 10.8 200.4 44.5 -999 26.1 -999 -999 13.0 0.2 0509010050 0.00 11.8 198.4 44.5 -999 26.1 -999 -999 13.3 0.2 0509010055 0.00 11.0 197.4 44.5 -999 25.5 -999 -999 13.3 0.2 0509010100 0.00 9.7 202.0 44.6 -999 25.1 -999 -999 13.0 0.2 0509010105 0.00 9.0 215.1 44.7 -999 24.9 -999 -999 12.2 0.2 0509010110 0.00 10.1 223.1 44.6 -999 25.1 -999 -999 13.2 0.2 0509010115 0.00 10.4 231.2 44.5 -999 25.5 -999 -999 12.0 0.2 0509010120 0.00 11.0 237.4 44.2 -999 25.9 -999 -999 11.7 0.2 0509010125 0.00 10.6 241.0 44.2 -999 26.0 -999 -999 11.8 0.2 0509010130 0.00 11.1 242.2 44.1 -999 26.2 -999 -999 12.2 0.2 0509010135 0.00 10.6 240.0 44.0 -999 26.5 -999 -999 11.5 0.2 0509010140 0.00 10.1 241.0 44.0 -999 26.4 -999 -999 11.5 0.2 0509010145 0.00 9.8 243.2 44.0 -999 26.6 -999 -999 10.7 0.2 0509010150 0.00 9.3 240.3 43.9 -999 27.0 -999 -999 10.0 0.2 0509010155 0.00 9.3 239.2 43.8 -999 26.8 -999 -999 10.0 0.2 0509010200 0.00 9.2 240.1 43.8 -999 26.6 -999 -999 9.8 0.2 0509010205 0.00 9.0 240.0 43.8 -999 26.6 -999 -999 9.4 0.2 0509010210 0.00 9.2 245.0 43.9 -999 26.3 -999 -999 9.8 0.2 0509010215 0.00 9.4 253.2 44.1 -999 26.4 -999 -999 10.6 0.2"
Lines2 <- "doy yr mon day hr hgt1 hgt2 hgt3 co21 co22 co23 sig1 sig2 sig3 dif flag 244.02083 2005 09 01 00 2.5 5.8 9.1 -999.99 -999.99 -999.99 -999.99 -999.99 -999.99 -999.99 PRE 244.0625 2005 09 01 01 2.5 5.8 9.1 -999.99 -999.99 -999.99 -999.99 -999.99 -999.99 -999.99 PRE 244.10417 2005 09 01 02 2.5 5.8 9.1 -999.99 -999.99 -999.99 -999.99 -999.99 -999.99 -999.99 PRE 244.14583 2005 09 01 03 2.5 5.8 9.1 -999.99 -999.99 -999.99 -999.99 -999.99 -999.99 -999.99 PRE 244.1875 2005 09 01 04 2.5 5.8 9.1 -999.99 -999.99 -999.99 -999.99 -999.99 -999.99 -999.99 PRE 244.22917 2005 09 01 05 2.5 5.8 9.1 -999.99 -999.99 -999.99 -999.99 -999.99 -999.99 -999.99 PRE 244.27083 2005 09 01 06 2.5 5.8 9.1 -999.99 -999.99 -999.99 -999.99 -999.99 -999.99 -999.99 PRE" library(zoo) 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))) DF <- read.table(textConnection(Lines2), header = TRUE) tt <- with(DF, chron(paste(mon, day, yr, sep = "/"), paste(hr, 0, 0, sep = ":"))) z2 <- zoo(data.matrix(DF), tt) # suppose we want all rows of z2 but only matching # rows in z (omit all= if you want all rows of both) m <- merge(z, z2, all = c(FALSE, TRUE)) On Wed, Dec 31, 2008 at 5:27 PM, Sherri Heck <sh...@ucar.edu> wrote: > Hi Gabor- > > Your suggestion did work. However, maybe I should explain more what I am > trying to do. Once I have dataset (z) condensed to an hourly format I will > compare it with another dataset (lets call it y). Here's a tidbit of > dataset y: > > doy yr mon day hr hgt1 hgt2 hgt3 co21 co22 co23 sig1 sig2 sig3 dif flag > > 244.02083 2005 09 01 00 2.5 5.8 9.1 -999.99 -999.99 -999.99 -999.99 -999.99 > -999.99 -999.99 PRE > 244.0625 2005 09 01 01 2.5 5.8 9.1 -999.99 -999.99 -999.99 -999.99 -999.99 > -999.99 -999.99 PRE > 244.10417 2005 09 01 02 2.5 5.8 9.1 -999.99 -999.99 -999.99 -999.99 -999.99 > -999.99 -999.99 PRE > 244.14583 2005 09 01 03 2.5 5.8 9.1 -999.99 -999.99 -999.99 -999.99 -999.99 > -999.99 -999.99 PRE > 244.1875 2005 09 01 04 2.5 5.8 9.1 -999.99 -999.99 -999.99 -999.99 -999.99 > -999.99 -999.99 PRE > 244.22917 2005 09 01 05 2.5 5.8 9.1 -999.99 -999.99 -999.99 -999.99 -999.99 > -999.99 -999.99 PRE > 244.27083 2005 09 01 06 2.5 5.8 9.1 -999.99 -999.99 -999.99 -999.99 -999.99 > -999.99 -999.99 PRE > > I need to match up the date/time of the datasets and then invoke a > conditional statement, such as: if z$mph is >= 12 then keep y$co23 for the > corresponding time/date stamp. But, when I convert " > > (09/01/05 00:00:00) (09/01/05 01:00:00) (09/01/05 02:00:00)" > 9.27500 10.08333 9.20000 > > to a matrix to invoke this conditional statement, the time/date stamp > doesn't appear. Does it have to do with the parentheses? > > thanks for your time and help and happy new year: > > sherri heck > > Gabor Grothendieck wrote: >> >> Try this: >> >> >>> >>> aggregate(z$mph, trunc(time(z), "hour"), mean) >>> >> >> (09/01/05 00:00:00) (09/01/05 01:00:00) (09/01/05 02:00:00) >> 9.27500 10.08333 9.20000 >> >> On Tue, Dec 30, 2008 at 6:30 PM, Sherri Heck <sh...@ucar.edu> wrote: >> >>> >>> Dear All- >>> >>> I have a dataset that is comprised of the following (LST = yymmddhhMM): >>> >>> >>> >>> LST in mph Deg DegF DegF2 % volts Deg mph2 >>> w/m2 >>> 0509010000 0.00 7.8 216.9 45.1 -999 24.4 -999 -999 10.6 >>> 0.2 >>> 0509010005 0.00 8.6 206.6 45.1 -999 25.2 -999 -999 11.7 >>> 0.2 >>> 0509010010 0.00 7.8 199.2 44.9 -999 25.4 -999 -999 12.8 >>> 0.2 >>> 0509010015 0.00 7.7 197.4 44.8 -999 25.4 -999 -999 10.4 >>> 0.2 >>> 0509010020 0.00 7.6 203.9 44.8 -999 25.3 -999 -999 10.0 >>> 0.2 >>> 0509010025 0.00 9.3 200.9 44.9 -999 25.3 -999 -999 11.8 >>> 0.2 >>> 0509010030 0.00 9.4 200.3 44.7 -999 25.5 -999 -999 12.2 >>> 0.2 >>> 0509010035 0.00 10.0 199.2 44.6 -999 25.9 -999 -999 13.0 >>> 0.2 >>> 0509010040 0.00 9.5 201.5 44.5 -999 25.9 -999 -999 13.3 >>> 0.2 >>> 0509010045 0.00 10.8 200.4 44.5 -999 26.1 -999 -999 13.0 >>> 0.2 >>> 0509010050 0.00 11.8 198.4 44.5 -999 26.1 -999 -999 13.3 >>> 0.2 >>> 0509010055 0.00 11.0 197.4 44.5 -999 25.5 -999 -999 13.3 >>> 0.2 >>> 0509010100 0.00 9.7 202.0 44.6 -999 25.1 -999 -999 13.0 >>> 0.2 >>> 0509010105 0.00 9.0 215.1 44.7 -999 24.9 -999 -999 12.2 >>> 0.2 >>> 0509010110 0.00 10.1 223.1 44.6 -999 25.1 -999 -999 13.2 >>> 0.2 >>> 0509010115 0.00 10.4 231.2 44.5 -999 25.5 -999 -999 12.0 >>> 0.2 >>> 0509010120 0.00 11.0 237.4 44.2 -999 25.9 -999 -999 11.7 >>> 0.2 >>> 0509010125 0.00 10.6 241.0 44.2 -999 26.0 -999 -999 11.8 >>> 0.2 >>> 0509010130 0.00 11.1 242.2 44.1 -999 26.2 -999 -999 12.2 >>> 0.2 >>> 0509010135 0.00 10.6 240.0 44.0 -999 26.5 -999 -999 11.5 >>> 0.2 >>> 0509010140 0.00 10.1 241.0 44.0 -999 26.4 -999 -999 11.5 >>> 0.2 >>> 0509010145 0.00 9.8 243.2 44.0 -999 26.6 -999 -999 10.7 >>> 0.2 >>> 0509010150 0.00 9.3 240.3 43.9 -999 27.0 -999 -999 10.0 >>> 0.2 >>> 0509010155 0.00 9.3 239.2 43.8 -999 26.8 -999 -999 10.0 >>> 0.2 >>> 0509010200 0.00 9.2 240.1 43.8 -999 26.6 -999 -999 9.8 >>> 0.2 >>> 0509010205 0.00 9.0 240.0 43.8 -999 26.6 -999 -999 9.4 >>> 0.2 >>> 0509010210 0.00 9.2 245.0 43.9 -999 26.3 -999 -999 9.8 >>> 0.2 >>> 0509010215 0.00 9.4 253.2 44.1 -999 26.4 -999 -999 10.6 >>> 0.2 >>> >>> The data are recorded in 5 minute intervals and I would like to condense >>> it >>> into hourly means for "mph". For example, I would like the hourly avg of >>> mph so that the output would be as follows: >>> >>> Year Month Day Hour mph >>> 2005 1 1 0 12 >>> 2005 1 1 1 7 >>> 2005 1 1 2 11, etc. >>> >>> >>> It seems I am able to get the averages but not output the corresponding >>> date/time stamp. From looking at previous help questions, I think I need >>> to >>> us "ts" and "aggregate". Gabor taught me how to convert the date/time >>> stamp to an easier to manage format (his help is shown below). This is >>> what >>> I have so far. >>> library(zoo) >>> library(chron) >>> >>> z <- read.zoo("SPL 2005 2008 met data 5 min wout full hdr.txt", header = >>> TRUE, na.strings = -999, >>> format = "%y%m%d%H%M", FUN = as.chron, >>> colClasses = c("character", rep("numeric", 10))) >>> z.ts <- ts(z, frequency=12) #avging 5 min intervals to get hourly avg. >>> ww <- matrix(aggregate(z.ts[,2], FUN=mean)) >>> >>> any thoughts as to how to add the time stamp is greatly welcomed! >>> >>> sherri heck >>> >>> ______________________________________________ >>> 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.