通过日期向量循环似乎改变了他们的类型 - 如何解决?

时间:2012-05-21 21:34:47

标签: r datetime for-loop

  

可能重复:
  R - why does looping over a Date object result in a numeric iterator?

我有以下R代码,它产生一定范围内的日期向量:

library(lubridate)
start_date = ymd("2009-07-25")
end_date = ymd("2010-11-30")
dates <- seq(from=start_date, to=end_date, by="1 day")

如果我查看日期向量的结构,我会得到以下结果:

> str(dates)
POSIXct[1:494], format: "2009-07-25" "2009-07-26" "2009-07-27" "2009-07-28" "2009-07-29"...

如果我看一下矢量元素的结构,我得到:

> str(dates[5])
 POSIXct[1:1], format: "2009-07-29"

到目前为止我所期待的一切。但是,如果我在这些日期执行for循环并查看我得到的结构:

> for (d in dates) {str(d)}
 num 1.25e+09
 num 1.25e+09
 num 1.25e+09
 num 1.25e+09

他们都变成了数字!我有两个问题:

  1. 为什么会这样?这是我做错了什么,还是R功能?

  2. 如何阻止这种情况发生,所以我在for循环中获得了一个POSIXct实例

0 个答案:

没有答案