spo*_*234 2 r date lubridate dplyr
我有这样的日期序列
ds <- seq(as.Date("2011-02-01"), length=100, by="day")
Run Code Online (Sandbox Code Playgroud)
我想找到每个月最后几天的指数
我可以这样做
last_day <- seq(as.Date("2011-02-01"), length=10, by="1 month") - 1
which(ds %in% last_day)
Run Code Online (Sandbox Code Playgroud)
我的问题是我的日期序列不完整,有些日期缺失,有时这可能是最后一天.
例如,我删除了二月的最后一天
ds[ds == as.Date('2011-02-28')] <- NA
Run Code Online (Sandbox Code Playgroud)
新的最后一天现在应该是'2011-02-27'.
如何根据载体中的日期找到每个月的最后一个?这些日期跨越了几年.
尝试:
which(ave(as.numeric(ds),format(ds,"%Y%m"),FUN=function(x) x==max(x))==1)
Run Code Online (Sandbox Code Playgroud)