R:在时间序列中插入缺失的日期会在合并时重复某些日期,但不会重复其他日期
[科林·查尔斯的解决方案为我工作] 这与 我正在为我自己的数据集实现那篇文章中提供的答案,该数据集在时间序列中存在类似的差距问题。我感兴趣的最小时间单位是天R:在时间序列中插入缺失的日期会在合并时重复某些日期,但不会重复其他日期,r,time-series,zoo,R,Time Series,Zoo,[科林·查尔斯的解决方案为我工作] 这与 我正在为我自己的数据集实现那篇文章中提供的答案,该数据集在时间序列中存在类似的差距问题。我感兴趣的最小时间单位是天 head(data_wide) Date MEID.1 MEID.2 MEID.3 MEID.4 MEID.5 MEID.6 1 8/16/14 12:00 AM 14 61 117 187 s1 <NA> 6 8/17/14 12:00 AM 1
head(data_wide)
Date MEID.1 MEID.2 MEID.3 MEID.4 MEID.5 MEID.6
1 8/16/14 12:00 AM 14 61 117 187 s1 <NA>
6 8/17/14 12:00 AM 14a 193 56 173 s2 <NA>
11 8/25/14 12:00 AM 4 21 80 187 s2 <NA>
16 8/26/14 12:00 AM 9 1 120 173 s2 <NA>
21 8/27/14 12:00 AM 13 15 100 187 s2 <NA>
26 8/28/14 12:00 AM 5 21 17 173 s2 <NA>
有些日子是重复的,我没有理由认为这些日子应该重复,而其他日子则不重复。有人对如何解决这一问题有什么建议吗?我不知道这个问题是从哪里来的
[编辑]:我基本上可以通过删除时间为11:00的行来更正数据帧。删除带有NA
的行将删除填充时间序列的所有繁重工作,因此这是不可能的。然而,我担心这并不能推广到我将要完成时间序列的所有数据帧(即,是否所有数据帧都会在合并中生成时间为11:00的行,可以排除这些行?)
final2尝试将seq()中的by参数更改为by=“DSTday”。如果您对一系列日期进行排序,有时数据会说明春季或秋季df2中的时间变化,这种变化非常有效。非常感谢。
data_wide$Date<-as.POSIXct(data_wide$Date,format="%m/%d/%y")
data_wide.zoo<-zoo(data_wide[,-1],data_wide[,1]) #set date to Index
df2 <- merge(data_wide.zoo,zoo(,seq(start(data_wide.zoo),end(data_wide.zoo),by="day")), all=TRUE)
final<-as.data.frame(df2)
head(final)
MEID.1 MEID.2 MEID.3 MEID.4 MEID.5 MEID.6
2014-08-16 12:00:00 14 61 117 187 s1 <NA>
2014-08-17 12:00:00 14a 193 56 173 s2 <NA>
2014-08-18 12:00:00 <NA> <NA> <NA> <NA> <NA> <NA>
2014-08-19 12:00:00 <NA> <NA> <NA> <NA> <NA> <NA>
2014-08-20 12:00:00 <NA> <NA> <NA> <NA> <NA> <NA>
2014-08-21 12:00:00 <NA> <NA> <NA> <NA> <NA> <NA>
106 2014-11-18 12:00:00 242a 272 246 238b s2 NA
107 2014-11-19 11:00:00 NA NA NA NA NA NA
108 2014-11-19 12:00:00 242b 246 251 238c s2 NA
109 2014-11-20 11:00:00 NA NA NA NA NA NA
110 2014-11-20 12:00:00 242c 249 269 s2 NA NA
111 2014-11-21 11:00:00 NA NA NA NA NA NA
112 2014-11-21 12:00:00 242d 245 249 s2 NA NA
113 2014-11-22 11:00:00 NA NA NA NA NA NA
114 2014-11-22 12:00:00 241a 247 235a 238d s2 NA