I'm reading in ~3 years worth of data that includes hourly timestamps.
Presumably to avoid DST confusion, all the data is in PST time zone -- no
discontinuities in the spring or fall.
The data comes in a csv file, which I'm reading with
myvariable <- read.csv("my_data_file.csv",header=FALSE,
col.names=c("timedate","values"),colClasses=c("POSIXct","numeric"))
The time zone comes in as PST or PDT, as appropriate. That leads to
problems in the spring:
> temps$timedate[2185:2190]
[1] "2006-04-02 00:00:00 PST" "2006-04-02 01:00:00 PST"
[3] NA "2006-04-02 03:00:00 PDT"
[5] "2006-04-02 04:00:00 PDT" "2006-04-02 05:00:00 PDT"
I presume it gets PST/PDT from my (Windows) system; I can't set it with >
force_tz(ymd_hms("2007-03-11 01:00:00"),tzone="PST") (from
the lubridate
package), but see
> force_tz(ymd_hms("2006-04-02
01:00:00"),tzone="America/Los_Angeles")
[1] "2006-04-02 01:00:00 PST"
What I'd like to do is keep all the time in standard time so I don't
lose
the 2 a.m. data. Presumably the damage is done by the time it's read in.
For example,
> force_tz(temps$timedate[2185:2190], tzone="UTC")
[1] "2006-04-02 00:00:00 UTC" "2006-04-02 01:00:00 UTC"
[3] NA "2006-04-02 03:00:00 UTC"
[5] "2006-04-02 04:00:00 UTC" "2006-04-02 05:00:00 UTC"
Any advice?
Thanks,
Bill
On Thu, Feb 10, 2011 at 7:06 PM, Bill Harris <bill_harris at facilitatedsystems.com> wrote:> I'm reading in ~3 years worth of data that includes hourly timestamps. > Presumably to avoid DST confusion, all the data is in PST time zone -- no > discontinuities in the spring or fall. > > The data comes in a csv file, which I'm reading with > > myvariable <- read.csv("my_data_file.csv",header=FALSE, > col.names=c("timedate","values"),colClasses=c("POSIXct","numeric")) > > The time zone comes in as PST or PDT, as appropriate. ?That leads to > problems in the spring: > >> temps$timedate[2185:2190] > [1] "2006-04-02 00:00:00 PST" "2006-04-02 01:00:00 PST" > [3] NA ? ? ? ? ? ? ? ? ? ? ? ?"2006-04-02 03:00:00 PDT" > [5] "2006-04-02 04:00:00 PDT" "2006-04-02 05:00:00 PDT" > > I presume it gets PST/PDT from my (Windows) system; I can't set it with > > force_tz(ymd_hms("2007-03-11 01:00:00"),tzone="PST") (from the lubridate > package), but see > >> force_tz(ymd_hms("2006-04-02 01:00:00"),tzone="America/Los_Angeles") > [1] "2006-04-02 01:00:00 PST" > > What I'd like to do is keep all the time in standard time so I don't lose > the 2 a.m. data. ?Presumably the damage is done by the time it's read in. > For example, > >> force_tz(temps$timedate[2185:2190], tzone="UTC") > [1] "2006-04-02 00:00:00 UTC" "2006-04-02 01:00:00 UTC" > [3] NA ? ? ? ? ? ? ? ? ? ? ? ?"2006-04-02 03:00:00 UTC" > [5] "2006-04-02 04:00:00 UTC" "2006-04-02 05:00:00 UTC" > > Any advice?Use chron. It does not use time zones so you can't have any of these problems in the first place. See the help desk article in R News 4/1 for more discussion. -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com
Use Sys.setenv(TZ="Etc/GMT+8") before you read the files.
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil@dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
---------------------------------------------------------------------------
Sent from my phone. Please excuse my brevity.
Bill Harris <bill_harris@facilitatedsystems.com> wrote:
I'm reading in ~3 years worth of data that includes hourly timestamps.
Presumably to avoid DST confusion, all the data is in PST time zone -- no
discontinuities in the spring or fall. The data comes in a csv file, which
I'm reading with myvariable <-
read.csv("my_data_file.csv",header=FALSE,
col.names=c("timedate","values"),colClasses=c("POSIXct","numeric"))
The time zone comes in as PST or PDT, as appropriate. That leads to problems in
the spring: > temps$timedate[2185:2190] [1] "2006-04-02 00:00:00
PST" "2006-04-02 01:00:00 PST" [3] NA "2006-04-02 03:00:00
PDT" [5] "2006-04-02 04:00:00 PDT" "2006-04-02 05:00:00
PDT" I presume it gets PST/PDT from my (Windows) system; I can't set it
with > force_tz(ymd_hms("2007-03-11
01:00:00"),tzone="PST") (from the lubridate package), but see
> force_tz(ymd_hms("2006-04-02
01:00:00"),tzone="America/Los_Angeles") [1] "2006-04-02
01:00:00 PST" What I'd like to do is keep all the time in standard time
so I don't lose the 2 a.m. data. Presuma
bly the
damage is done by the time it's read in. For example, >
force_tz(temps$timedate[2185:2190], tzone="UTC") [1] "2006-04-02
00:00:00 UTC" "2006-04-02 01:00:00 UTC" [3] NA "2006-04-02
03:00:00 UTC" [5] "2006-04-02 04:00:00 UTC" "2006-04-02
05:00:00 UTC" Any advice? Thanks,
Bill_____________________________________________
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.
[[alternative HTML version deleted]]