There seems to be no reason to use POSIXct in the first place.
Just use chron everywhere and read R News 4/1.
Suppose we just want month 9 from the merged object:
z2 - zoo(data.matrix(DF), tt)
m - merge(z, z2, all = c(FALSE, TRUE))
m[ m$mon %in% 9 ]
On Sat, Jan 3, 2009 at 7:57 PM, Sherri Heck sh...@ucar.edu wrote:
Dear All-
I am trying to merge two data files - they have different date formats and
different times zones. I need to match up the date/time of the datasets and
then invoke a conditional statement, such as: if dataC$mph is = 12 then
keep dataM$co23 for the corresponding time/date stamp.
snippets of data files:
*dataC.txt*
LST in mphDeg DegF DegF2%volts Degmph2 w/m2
050601 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
*dataM.txt*
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
*Code:*
z - read.zoo(dataC.txt, header = TRUE, na.strings = -999,
format = %y%m%d%H%M, FUN = as.chron,
colClasses = c(character, rep(numeric,
10)))
DF - read.table(C:/R/dataM.txt, header = TRUE, na.strings = -999.99)
tt - with(DF, chron(paste(mon, day, yr, sep = /),
paste(hr, 0, 0, sep = :)))
timeconv - as.POSIXct(tt, tz=)
z2 - zoo(data.matrix(DF), timeconv)
*example of output of data files*
z[1,]
in. mph Deg DegF DegF2 X. volts Deg.1 mph2 w.m2
(06/01/05 00:00:00) 0 13.6 218.1 36.8NA 65.1NANA 18.2 0.2
z2[1,]
doy yr mon day hr hgt1 hgt2 hgt3 co21 co22 co23
sig1 sig2 sig3 dif flag
2005-08-31 18:00:00 244.0208 2005 9 1 0 2.5 5.8 9.1 NA NA NA
NA NA NA NA1
*#merging data files z, z2*
m - merge(z, z2, all = c(FALSE, TRUE))
m[m==-999.99]-NA
m2 - m[m$mon %in% c(6,7,8),]
*returns the following warning message:*
Warning message:
In merge.zoo(z, z2, all = c(FALSE, TRUE)) :
Index vectors are of different classes: chron POSIXt
I cannot find a way to deal with the timezone in chron. But, I found
through the help pages that POSIXct deals with tz. However, it doesn't seem
these two different formats are compatible to merge. Any thoughts would be
appreciated.
cheers,
sherri
__
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.