如何避免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
答案 0 :(得分:4)
for
循环将序列强制转换为vector,除非它是vector,list或其他一些东西。 date
不是矢量,也没有日期矢量这样的东西。所以你需要as.list
来保护它免受强制攻击到矢量:
for (d in as.list(date)) print(d)