L oop по датам в R - PullRequest
       9

L oop по датам в R

1 голос
/ 26 марта 2020

Я хочу l oop для ряда дат в R. Вот пример кода:

myDates <- seq.Date(as.Date("2020-01-01"), as.Date("2020-01-03"), by = "day")
myDates[1]
class(myDates[1])

Это создает вектор дат, и я подтверждаю это, печатая и проверяя класс первый элемент.

Однако, когда я запускаю этот l oop:

for (myDate in myDates) print(myDate)

, я получаю этот вывод:

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

После проверки на этот вопрос У меня есть несколько обходных путей, чтобы решить мою непосредственную проблему, но может ли кто-нибудь объяснить мне, почему это происходит, и если есть простой способ выполнить итерацию непосредственно по вектору дат?

1 Ответ

0 голосов
/ 26 марта 2020

Причина была объяснена @ r2evans в комментариях к вашему посту. На самом деле у вас есть несколько способов обойти проблему, например,

> 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"
...