Skip to content
Back to formatted view

Raw Message

Message-ID: <CAPPM_gTkj1Z7mFpQOZJz+TBsEeYRFfhfC5Ua35_viWy5=eh96g@mail.gmail.com>
Date: 2012-09-15T12:35:59Z
From: Joshua Ulrich
Subject: calculate within-day correlations
In-Reply-To: <1347664483748-4643206.post@n4.nabble.com>

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.