【发布时间】:2015-01-15 20:50:57
【问题描述】:
请参阅下面的 R。我正在从更大的时间序列(var dt1 代表)中提取子集,并且时区正在下降。有什么建议么?
> dt1 <- as.POSIXct("2011-07-01 13:42:00", tz="America/New_York")
> dt1
[1] "2011-07-01 13:42:00 EDT"
> attr(dt1,"tzone")
[1] "America/New_York"
> df <- data.frame(subsetDate=.POSIXct(character(3)), otherData=numeric(3))
> df$subsetDate[1] <- dt1
df
subsetDate otherData
1 2011-07-01 13:42:00 0
2 <NA> 0
3 <NA> 0
> attr(df$subsetDate[1],"tzone")
NULL
除了删除 tz 之外,另一个问题是,虽然结果仍将 str() 标识为 POSIXct,但我无法再对这些日期进行数学运算。
> str(df$subsetDate)
POSIXct[1:5], format: "2011-07-01 13:42:00" NA NA
> df$subsetDate[1]+3600
Error in unclass(e1) + unclass(e2) :
non-numeric argument to binary operator
【问题讨论】:
-
你为什么不直接用
subset()子集dt1?