Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中循环日期_R_Date_For Loop - Fatal编程技术网

在R中循环日期

在R中循环日期,r,date,for-loop,R,Date,For Loop,我想在R中循环一系列日期。下面是一些示例代码: myDates <- seq.Date(as.Date("2020-01-01"), as.Date("2020-01-03"), by = "day") myDates[1] class(myDates[1]) 我得到这个输出: [1] 18262 [1] 18263 [1] 18264 签出问题后,我有一些变通方法来解决眼前的问题,但有人能解释一下为什么会发生这种情况,以及是否有一种简单的方法可以直接迭代日期向量吗?原因已由@r2ev

我想在R中循环一系列日期。下面是一些示例代码:

myDates <- seq.Date(as.Date("2020-01-01"), as.Date("2020-01-03"), by = "day")
myDates[1]
class(myDates[1])
我得到这个输出:

[1] 18262
[1] 18263
[1] 18264

签出问题后,我有一些变通方法来解决眼前的问题,但有人能解释一下为什么会发生这种情况,以及是否有一种简单的方法可以直接迭代日期向量吗?

原因已由@r2evans在您的帖子评论中解释。事实上,你有几种方法来规避这个问题,例如

> d <- Map(print,myDates)
[1] "2020-01-01"
[1] "2020-01-02"
[1] "2020-01-03"

你能告诉我你的最终目标是什么吗?虽然我同意,这是令人费解的(就像R中的一些东西一样),但你可以为(as.list中的myDate(myDates))打印(myDate)做
,并且它可以按照你的预期工作。(在R中有好几次向量是非类的,包括
ifelse
和类似的。这显然是其中的一种情况。)另一个参考:感谢@thomasscoding,我认为top方法类似于r2evan的建议,将其强制到列表中。第二个实际上不适合我的情况,因为我确实需要在循环中保留日期类型。。。
> d <- Map(print,myDates)
[1] "2020-01-01"
[1] "2020-01-02"
[1] "2020-01-03"
> for (myDate in as.character(myDates)) print(myDate)
[1] "2020-01-01"
[1] "2020-01-02"
[1] "2020-01-03"