我正在使用
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
函数将数据表强制转换为矩阵,你将失去所有数据表的特性。 - Roland