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:<jdnew...@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
______________________________________________
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.