需求: 处理数据时常常遇到时间有断开的数据,在与模型做数据的横向对比时需要一致的scale,需要补齐时间。
数据长这个样子:
其中日期有很多断点,并非每日都有连续。
解决方法:
创建一个时间连续的df与非连续df融合。
解决代码:
mergeeee<-function(proc_data){
require(lubridate)
#设置日期格式
proc_data$date<-as.Date(proc_data$date,format='%Y-%m-%d')
#建一个完整连续日期的df
date_start<-ymd(proc_data$date[1])
date_end<-ymd(proc_data$date[length(proc_data$date)])
complete_date<-date_start+days(0:as.numeric(date_end-date_start))
#合并两个df,by 日期
df2<-data.frame(date=complete_date,c=c(1:length(complete_date)))
merged_proc_data<-merge(proc_data,df2,by="date",all=TRUE)
return(merged_proc_data)
}