calculate within-day correlations
On Fri, Sep 14, 2012 at 6:14 PM, emorway <emorway at usgs.gov> wrote:
Hi Joshua,
I was attempting to work with your code on the larger datasets, which I have
to read in with 'read.table', but I've apparently missed something. When I
attempt to massage the data.frame a bit in the code below, as.POSIXct drops
the time component which then precludes use of xts. I think you'll see what
I mean (the rdb file is a text file containing the data, which is attached
to the post):
library(xts)
Q_hourly<-read.table("C:/temp/07130500_BelowJM_q.rdb",skip=59,col.names=c('date','time','tz','Q','rating','unknown'),colClasses=c("character","character","character","numeric","character","character"))
notice that
Q_hourly[1,]
# date time tz Q rating unknown
#1 19981001 000000 MDT 326 3 A
Q_hourly[2,]
# date time tz Q rating unknown
#2 19981001 001500 MDT 326 3 A
and
paste(strptime(Q_hourly[1,1],"%Y%m%d"),"
",format(strptime(Q_hourly[1,2],"%H%M%S"),format="%H:%M:%S"),sep='')
#[1] "1998-10-01 00:00:00"
but for some reason, the time stamp is dropped in the following, which
breaks the call to xts (I think)
as.POSIXct(paste(strptime(Q_hourly[1,1],"%Y%m%d"),"
",format(strptime(Q_hourly[1,2],"%H%M%S"),format="%H:%M:%S"),sep=''),format="%Y-%m-%d
%H:%M:%S",tz="")
#[1] "1998-10-01 PDT"
This is just how the POSIXct objects are *printed*. It doesn't affect how they're actually stored.
The Q_use data.frame I'm building here should come out exactly http://r.789695.n4.nabble.com/file/n4643206/07130500_BelowJM_q.rdb 07130500_BelowJM_q.rdb the same as in my original post (above), but I can't seem to seem to force the preservation of the time stamp even though I've explicitly stated the format I want to be stored (...format="%Y-%m-%d %H:%M:%S"). Any ideas? xQ <- xts(Q_use["Q"], Q_use$date) #Error in `[.data.frame`(x, indx) : undefined columns selected
I don't know how you created the Q_use object, so I don't know what the problem is with the above line of code. This works for me: Q_hourly$datetime.str <- paste(Q_hourly$date, Q_hourly$time) fmt <- "%Y%m%d %H%M%S" x <- xts(Q_hourly["Q"], as.POSIXct(Q_hourly$datetime.str, format=fmt)) Best, -- Joshua Ulrich | about.me/joshuaulrich FOSS Trading | www.fosstrading.com
-- View this message in context: http://r.789695.n4.nabble.com/calculate-within-day-correlations-tp4643091p4643206.html Sent from the R help mailing list archive at Nabble.com.
______________________________________________ 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.