这是我的例子。
my_df <- data.frame(col_1 = c(1,2),
col_2 = c(as.Date('2018-11-11'), as.Date('2016-01-01')))
dates_list <- my_df$col_2
for(el in dates_list){
print(el)
}
它生成:
17846
16801
如何输出日期?我可以用显式索引来做,但希望有更简单的解决方案
答案 0 :(得分:5)
1)使用as.list
:
for(el in as.list(dates_list)) {
print(el)
}
,并提供:
[1] "2018-11-11"
[1] "2016-01-01"
2)或者不太好,但可以迭代索引:
for(i in seq_along(dates_list)) {
print(dates_list[i])
}
答案 1 :(得分:2)
您也可以使用lubridate中的as_date
函数。
library(lubridate)
for(i in dates_list){
print(as_date(i))
}
[1] "2018-11-11"
[1] "2016-01-01"
答案 2 :(得分:1)
问题的原因可能是Application.AddCustomList ListArray:=fcValues
将列强制转换为日期向量:
dates_list <- my_df$col_2
所以另一个解决方案是解决这个问题,如下所示:
dates_list <- my_df$col_2
class(dates_list)
> [1] "Date"