【发布时间】:2022-01-01 15:34:54
【问题描述】:
我正在尝试将数据框列中每一行的每个日期(查找最大值/最新日期)与单个日期进行比较。 例如:
date
1 2018-07-31
2 2018-08-01
3 2018-08-02
4 2018-08-03
当我与compare_date="2018-08-02" 进行比较时,它应该输出每行与 compare_date 之间的最新日期。所以新的数据框看起来像这样:
new_date
1 2018-08-02
2 2018-08-02
3 2018-08-02
4 2018-08-03
我正在尝试使用 sapply 来解决这个问题:
data$new_date <- sapply(data$date,function(x){max(x,compare_date)})
但我得到的输出不是日期格式,像这样:
date new_date
1 2018-07-31 17745
2 2018-08-01 17745
3 2018-08-02 17745
4 2018-08-03 17746
请注意,我已使用 as.Date 将 data$date 和 compare_date 转换为 Date 格式。
为什么输出不是日期格式?我是否以错误的方式使用 sapply?
【问题讨论】:
标签: r date apply lapply sapply