我有一个动物园对象,其中包含来自两个不同点(V1 和 V2)的速度数据,以及来自相同两个点的粒子数据。两点之间的距离为170m。
Date<- as.POSIXct("2012-01-01 08:00:00") + 1:120
V1<-rnorm(200,mean=5) #Velocity in m/sec
R<-rnorm(4,mean=3)
V2<-V1+R #Velocity in m/sec
Data1<-rnorm(200, mean=20)
Data2<-rnorm(200, mean=25)
V<-data.frame(V1,V2,Data1,Data2)
z<-zoo(as.matrix(V),order.by=Date)
L<-170 #Length =170m
如果我平均速度数据
z$Avg_Vel<-rowMeans(z[,1:2])
我应该对粒子的行进速度有一个很好的了解,并且由于我知道距离,我应该很好地了解在时间序列过程中粒子从点 1 到点 2 需要多长时间.
z$Off<-L/z$Avg_Vel
但我不知道如何偏移我的动物园对象以考虑粒子在两点之间传播所需的时间延迟。因此,如果我有兴趣找到数据 1 和数据 2 之间的区别,我不想这样做
Diff<-z$Data1-z$Data2
因为这不包括偏移量
如果粒子从点 1 到点 2 需要 2 分钟,那么我想要
Diff<-z$Data1-z$Data2(+2min)
所以我正在查看时间 x 的 Data1 和时间 x+2min 的 Data2 之间的区别
为了响应答案澄清,最终结果将是滚动偏移。以便
Offset<-z$Off
看着这种Offset
round(as.numeric(z$Off))
结果看起来像这样
1 Diff<- Diff<-z$Data1-z$Data2(+22 sec)
2 Diff<- Diff<-z$Data1-z$Data2(+23 sec)
3 Diff<- Diff<-z$Data1-z$Data2(+32 sec)..........