【发布时间】:2013-09-01 01:39:52
【问题描述】:
我正在使用data.table 包,我使用了这个:
dt$date<- as.POSIXct(dt$date, tz="GMT") (I know I can use fastPOSIXct)
2009-08-07 06:00:14
2009-08-07 06:00:15
2009-08-07 06:00:16
2009-08-07 06:00:24
我想更改时区(有很多)并提取小时。假设我想使用 apply 函数:
f <- function(x) {
SydneyTime<-format(x["date"], format = "%Y-%m-%d %H:%M:%OS", tz = "Australia/Sydney")
Sy<-hour(SydneyTime)
return(Sy)
}
mydata$SyHour <- apply(dt, 1, f)
这太慢了,我错过了什么吗?我不想保留 SydneyTime 的副本。
谢谢。
【问题讨论】:
-
apply将 data.table 强制转换为矩阵,然后您就失去了所有 data.table 的魔力。
标签: r data.table apply