可能重复:
R - why does looping over a Date object result in a numeric iterator?
在R中我有一个POSIXct日期时间列表:
dates <- seq(as.POSIXct("2004-01-01"), as.POSIXct("2004-01-02"), as.difftime(6, units="hours"))
print(dates)
[1] "2004-01-01 00:00:00 EST" "2004-01-01 06:00:00 EST"
[3] "2004-01-01 12:00:00 EST" "2004-01-01 18:00:00 EST"
[5] "2004-01-02 00:00:00 EST"
我想循环每个日期。我可以按如下方式构建循环:
for(i in 1:length(dates)) { print(dates[i]) }
[1] "2004-01-01 EST"
[1] "2004-01-01 06:00:00 EST"
[1] "2004-01-01 12:00:00 EST"
[1] "2004-01-01 18:00:00 EST"
[1] "2004-01-02 EST"
我认为按如下方式编写循环更好:
for(d in dates) { print(d) }
[1] 1072933200
[1] 1072954800
[1] 1072976400
[1] 1072998000
[1] 1073019600
但现在它已将我的POSIXct日期强制转换为数字。为什么以及如何发生这种情况?
提前致谢!