以下是我的例子:
test_list <- c(as.Date('2017-03-08','2017-03-08' ))
for(el in test_list){
print(el)
}
它生成: 17641
这是日期表示。我很好奇R为什么会这样。
答案 0 :(得分:2)
你想要什么回来? 一次&#39; 2017-03-08&#39;或者是下面代码中的两倍?
test_list <- as.Date(c('2017-03-08','2017-03-08'))
for(el in test_list){
print(as.Date(el, origin = "1970-01-01"))
}
答案 1 :(得分:1)
Pierre Lapointe是正确的,在as.Date
中调用多个参数是你问题的一部分。
17641
号码与how R stores dates有关。致电test_list
会产生"2018-04-20"
,我猜这意味着它会添加这两个日期。
R中的原始日期为1970-01-01
。如果您向其添加17641
,则会获得2018-04-20
。所以R返回与你的日期相对应的整数,可以通过调用class(el)
来验证,这是有道理的,因为在循环中你的test_list
中的元素是它们的正常性(条例?)
以下对我来说很好。我不确定为什么,但如果它没有打破,就不要修理它!
for (el in 1:length(test_list)){
print(test_list[el])
}