Lost in POSIX
Dimitri Shvorob wrote:
.. One issue with the solution proposed by Jeff is that the transformed column does not have the original's type:
x = structure(list(time = structure(c(1020232904.818, 1020232904.818
), class = c("POSIXt", "POSIXct"), tzone = ""), price = c(321,
323.5), minute = c(1020232860, 1020232860)), .Names = c("time",
"price", "minute"), row.names = 1:2, class = "data.frame")
minute <- function(t)
{
d <- as.POSIXlt(t, origin = as.Date("1970-01-01"))
d$sec <- 0
as.POSIXct(d)
}
x$minute = sapply(x$time, minute)
head(x)
time price minute 1 2002-05-01 07:01:44 321.0 1020232860 2 2002-05-01 07:01:44 323.5 1020232860
class(x.l$minute)
[1] "numeric"
That is not an issue with the "minute" function, as you can see if you evaluate > minute(x$time) [1] "2002-04-30 23:01:00 PDT" "2002-04-30 23:01:00 PDT" or > str(minute(x$time)) POSIXct[1:2], format: "2002-04-30 23:01:00" "2002-04-30 23:01:00" rather, you are seeing a side effect of "sapply".
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil at 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