我正在使用我的数据集中的2月29日。我希望在发生这种情况时将此日期更改为2月28日。我尝试使用ifelse语句来处理这种情况,但行为很奇怪。
我想要完成的是:如果月份为2,月份日期为29,则返回1天,否则保留日期。
运行时:
library(lubridate)
dt<-ymd("2008-02-29")
dt<-ifelse(month(dt)==2 & day(dt)==29,
dt-days(1),dt)
dt
以上回复非常奇怪:
> dt
[1] 1204156800
然而,当我在没有ifelse语句的情况下运行它时,日期数学运算正常:
dt<-ymd("2008-02-29")
dt<-dt-days(1)
dt
> dt
[1] "2008-02-28 UTC"
有没有人对如何实现这种行为有任何想法?谢谢!