【发布时间】:2020-11-23 18:54:00
【问题描述】:
如何避免 R 在 for 循环中将日期转换为数字?这与这个问题有关,它显示了 mapply disabling mapply automatically converting Dates to numeric 的相同行为
date <- c('2008-02-20','2009-10-05')
date <- as.Date(date, format = '%Y-%m-%d')
date
[1] "2008-02-20" "2009-10-05"
for (i in date) print(i)
[1] 13929
[1] 14522
disabling mapply automatically converting Dates to numeric
编辑
自从重复的Looping over a datetime object results in a numeric iterator 询问为什么 R 循环将日期和日期时间对象转换为数字后,我重新打开了这个问题,这个问题询问如何避免这种行为。答案是解决问题的关键,与副本中接受的答案和其他答案不同,它正确回答了其他问题。
【问题讨论】:
-
Base R 中的
Date类将日期存储为自纪元以来的天数,因此您看到的是真正的基础数据。您的问题实际上是关于数据的呈现。 -
比较麻烦,不过可以重新转换:
for (i in date) print(as.Date(i, origin = '1970-01-01'))
标签: r