[R] problems in vectors of dates_times

Richard M. Heiberger rmh at temple.edu
Sat Apr 8 00:59:06 CEST 2017


Don asks a good question.  Here is the analogy from the grid package.

> library(grid)
> unit(12, "in")
[1] 12in
> unit(12, "cm")
[1] 12cm
> unit.c(unit(12, "in"), unit(12, "cm"))
[1] 12in 12cm
> c(unit(12, "in"), unit(12, "cm"))
[1] 12 12
> ?unit
> convertUnit(c(unit(12, "in"), unit(12, "cm")), "in")
Error in convertUnit(c(unit(12, "in"), unit(12, "cm")), "in") :
  'x' argument must be a unit object
> convertUnit(unit.c(unit(12, "in"), unit(12, "cm")), "in")
[1] 12in              4.7244094488189in
>

On Fri, Apr 7, 2017 at 6:33 PM, MacQueen, Don <macqueen1 at llnl.gov> wrote:
> 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.
>
>
> ______________________________________________
> 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