[R] problems in vectors of dates_times

MacQueen, Don macqueen1 at llnl.gov
Sat Apr 8 00:33:00 CEST 2017


I think a more illuminating inspection is this:

> attributes(A)
$class
[1] "POSIXct" "POSIXt" 

$tzone
[1] "UTC"

> attributes(B)
$class
[1] "POSIXct" "POSIXt" 

$tzone
[1] "UTC"

> attributes(C)
$class
[1] "POSIXct" "POSIXt" 

Note that the operation c(A,B) loses the $tzone attribute.

Note also that C[1] and A[1] are actually the same point in time -- my default time zone, PDT, is 7 hours behind UTC -- but they display differently, due to the different tzone attribute.
> C[1]
[1] "2013-03-27 23:00:00 PDT"
> A[1]
[1] "2013-03-28 06:00:00 UTC"

> A[1]==C[1]
[1] TRUE

Finally, if I do this:
attributes(C)$tzone <- attributes(A)$tzone

Then they display the same:
> C[1]
[1] "2013-03-28 06:00:00 UTC"
> A[1]
[1] "2013-03-28 06:00:00 UTC"

It's a tossup whether resetting the lost attribute is preferable to setting the system timezone.

Then there's the design question of whether the c() operation should lose the tzone attribute. In this case it would be nice if it didn't, but what should happen if we use c() on two objects with  different tzone attributed??

-- 
Don MacQueen

Lawrence Livermore National Laboratory
7000 East Ave., L-627
Livermore, CA 94550
925-423-1062


On 4/7/17, 12:48 AM, "R-help on behalf of Troels Ring" <r-help-bounces at r-project.org on behalf of tring at gvdnet.dk> wrote:

    Thanks a lot - good idea:
    
    I put
    
    Sys.setenv(TZ = "UTC")
    
    ahead of the code - solves the problem!
    
    Thanks a lot
    
    
    Den 07-04-2017 kl. 09:26 skrev Mark Leeds:
    > Hi Troels: This is off-list so as to not clog the list with my noise 
    > because my suggestion may not work. I really don't know that much
    > about time-zones. but.   I ran your code and it "worked" but all the 
    > times were correctly time stamped but they changed from UTC to GMT.
    > in time-zone. In your
    > case, they changed to something and the time got shifted it looks 
    > like. So, definitely it has to do with how your time-zones are set. In 
    > my .Rprofile, I have something.
    > Let me check. ... time passes .....  I have below in my .Rprofile. So 
    > my guess is that, if you want things to remain UTC, then put below
    > in your .Rprofile but change it from "GMT" to "UTC". Others may have 
    > different solutions but that might work. If you don't have that, then 
    > R decides what to use and I'm not sure how it decides.
    >
    > Sys.setenv(TZ = "GMT")
    >
    > #print("LOADING MASS LIBRARY")
    > #ibrary("MASS")
    > #print("LOADING LATTICE LIBRARY")
    > #library("lattice")
    >
    >
    >
    >
    > :~>
    >
    > On Fri, Apr 7, 2017 at 3:00 AM, Troels Ring <tring at gvdnet.dk 
    > <mailto:tring at gvdnet.dk>> wrote:
    >
    >     Thanks a lot - perhaps it is just understanding how times dates
    >     are handled, sorry to bother if that is just the case
    >
    >     C[1]==A[1]  # TRUE
    >
    >     but
    >
    >     C[1]
    >     [1] "2013-03-28 07:00:00 CET"
    >     A[1]
    >     [1] "2013-03-28 06:00:00 UTC"
    >
    >
    >
    >
    >
    >
    >     Den 07-04-2017 kl. 08:27 skrev Ulrik Stervbo:
    >
    >         Hi Troels,
    >
    >         I get no error. I think we need more information to be of any
    >         help.
    >
    >         Best wishes,
    >         Ulrik
    >
    >         On Fri, 7 Apr 2017 at 08:17 Troels Ring <tring at gvdnet.dk
    >         <mailto:tring at gvdnet.dk>> wrote:
    >
    >             Dear friends - I have further problems  handling
    >             dates_times, as
    >             demonstrated below where concatenating two formatted
    >             vectors of
    >             date_times results in errors.
    >             I wonder why this happens and what was wrong in trying to
    >             take these two
    >             vectors together
    >             All best wishes
    >             Troels Ring
    >             Aalborg, Denmark
    >             Windows
    >             R version 3.3.2 (2016-10-31)
    >
    >
    >             A <- structure(c(1364450400, 1364450400, 1364536800,
    >             1364623200,
    >             1364709600,
    >             1364796000, 1364882400, 1364968800, 1365055200,
    >             1365141600, 1365228000,
    >             1365314400, 1365400800), class = c("POSIXct", "POSIXt"),
    >             tzone = "UTC")
    >             A
    >             B <- structure(c(1365141600, 1365228000, 1365314400,
    >             1365400800,
    >             1365487200,
    >             1365573600, 1365660000, 1365746400, 1365832800,
    >             1365919200, 1366005600,
    >             1366092000), class = c("POSIXct", "POSIXt"), tzone = "UTC")
    >             B
    >             C <- c(A,B)
    >             C
    >
    >             ______________________________________________
    >             R-help at r-project.org <mailto:R-help at r-project.org> mailing
    >             list -- To UNSUBSCRIBE and more, see
    >             https://stat.ethz.ch/mailman/listinfo/r-help
    >             <https://stat.ethz.ch/mailman/listinfo/r-help>
    >             PLEASE do read the posting guide
    >             http://www.R-project.org/posting-guide.html
    >             <http://www.R-project.org/posting-guide.html>
    >             and provide commented, minimal, self-contained,
    >             reproducible code.
    >
    >                 [[alternative HTML version deleted]]
    >
    >         ______________________________________________
    >         R-help at r-project.org <mailto:R-help at r-project.org> mailing
    >         list -- To UNSUBSCRIBE and more, see
    >         https://stat.ethz.ch/mailman/listinfo/r-help
    >         <https://stat.ethz.ch/mailman/listinfo/r-help>
    >         PLEASE do read the posting guide
    >         http://www.R-project.org/posting-guide.html
    >         <http://www.R-project.org/posting-guide.html>
    >         and provide commented, minimal, self-contained, reproducible code.
    >
    >
    >     ______________________________________________
    >     R-help at r-project.org <mailto:R-help at r-project.org> mailing list --
    >     To UNSUBSCRIBE and more, see
    >     https://stat.ethz.ch/mailman/listinfo/r-help
    >     <https://stat.ethz.ch/mailman/listinfo/r-help>
    >     PLEASE do read the posting guide
    >     http://www.R-project.org/posting-guide.html
    >     <http://www.R-project.org/posting-guide.html>
    >     and provide commented, minimal, self-contained, reproducible code.
    >
    >
    
    
    	[[alternative HTML version deleted]]
    
    ______________________________________________
    R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
    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.
    



More information about the R-help mailing list