首页 > 解决方案 > R:for循环中日期类的双重性质

问题描述

有人可以解释为什么我在下面的 for 循环中得到不同的日期类吗?

dt_all <- Sys.Date() + 1:2

for(dt in dt_all){
  print(dt)
  cat("This is of",class(dt),"class\n")
}
# [1] 17723
# This is of numeric class
# [1] 17724
# This is of numeric class

for(i in 1:length(dt_all)){
  dt <- dt_all[i]
  print(dt)
  cat("This is of",class(dt),"class\n")
}

# [1] "2018-07-11"
# This is of Date class
# [1] "2018-07-12"
# This is of Date class

提前致谢。

标签: rdatefor-loop

解决方案


可能是因为您无法遍历日期类对象,因此 r 将它们转换为数字。


推荐阅读