【发布时间】:2020-07-06 13:21:57
【问题描述】:
我想在 R 中循环一系列日期。下面是一些示例代码:
myDates <- seq.Date(as.Date("2020-01-01"), as.Date("2020-01-03"), by = "day")
myDates[1]
class(myDates[1])
这会创建一个日期向量,我通过打印并检查第一个元素的类来确认这一点。
但是,当我运行这个循环时:
for (myDate in myDates) print(myDate)
我得到这个输出:
[1] 18262
[1] 18263
[1] 18264
查看this 问题后,我有一些变通方法可以解决我当前的问题,但是谁能向我解释为什么会发生这种情况,以及是否有一种简单的方法可以直接遍历日期向量?
【问题讨论】:
-
你能说出你的最终目标是什么吗?
-
虽然我同意,但这令人费解(就像 R 中的某些东西 一样),您可以执行
for (myDate in as.list(myDates)) print(myDate),它可以按您预期的那样工作。 (在 R 中有几次向量是非类的,包括ifelse和类似的。这显然是其中一种情况。)