我有两个数据集:df1包含表示峰值活动的时间窗口id。这些是不连续的时间序列,id每个id有多个窗口(事件),即每个都有多个高峰活动期。下面是我编写的一个可重现的示例,但不是真实数据(注意:我根据下面的评论更新了数据)。
df1<-data.frame(start_date=seq(as.POSIXct("2014-09-04 00:00:00"), by = "hour", length.out = 10),
end_date=seq(as.POSIXct("2014-09-04 05:00:00"), by = "hour", length.out = 10),
values=runif(20,10,50),id=rep(seq(from=1,to=5,by=1),2))
Run Code Online (Sandbox Code Playgroud)
df2是一组连续的活动时间序列id。我想对(by ) 中的date.date每个条目/峰值活动进行子集化。df1id
date1<-data.frame(date=seq(as.POSIXct("2012-09-04 02:00:00"), by = "hour", length.out = 20), id=1)
date2<-data.frame(date=seq(as.POSIXct("2014-09-03 07:00:00"), by = "hour", length.out = 20),id=2)
date3<-data.frame(date=seq(as.POSIXct("2014-09-04 01:00:00"), by = "hour", length.out = 20),id=3)
df2<-data.frame(date=rbind(date1,date2,date3),values=runif(60,50,90))
Run Code Online (Sandbox Code Playgroud)
目标:df2仅在start_timeto end_timein df1(通过 id)之间对连续时间序列进行子集化,并保持values每个 df的字段。有一个有点类似的问题在这里,但在这种情况下,时间是静态的和已知的。鉴于每个 id 有多个事件,我正在努力解决如何做到这一点。
这个问题类似于r - data frame of list into a data frame但没有真正足够的答案。
我有一个df时间序列数据,将建模与量具数据进行比较。有关数据的子部分,请参见下文:
Date GageFlow base0 1a 1b 2a 2b 3a
2003-10-01 78.6 72.43154 64.55318 64.55318 64.55318 64.55318 64.55318
2003-10-02 88.6 74.94789 68.48789 68.48789 68.48789 68.48789 68.48789
2003-10-03 96.6 75.08756 69.75530 69.75530 69.75530 69.75530 69.75530
2003-10-04 93.1 74.45323 66.67482 66.67482 66.67482 66.67482 66.67482
2003-10-05 90.2 72.89045 65.24120 65.24120 65.24120 65.24120 65.24120
2003-10-06 96.0 73.89078 67.88296 67.88296 67.88296 67.88296 67.88296
Run Code Online (Sandbox Code Playgroud)
在str我的数据是:
'data.frame': 3653 obs. of 11 variables: …Run Code Online (Sandbox Code Playgroud)