我现在已经坚持了一段时间,我觉得很难相信这不是一个内置功能,或者有人在此之前没有处理过这个问题。
我想要运行的函数应比较数据帧的两列,直到它们找到最佳相关性。我使用的数据来自两个科学仪器,它们的采样/平均时间不同,这就是我想要移动数据的原因。
将仅调整与一个元素相关联的日期。
if correlation of data + x seconds is > that current correlation
increase current
note increasing
else if correlation of data - x seconds ix > than current correlation
decrease current date/time
not decreasing
end if
while correlation of data + x seconds is > than current correlation
increase current date/time by x seconds
end while
while correlation of data - seconds is > than current correlation
decrease current date/time by x seconds
end while
如果有一个功能可以做到这一点,如果不是,我会提供额外的信息+代码
我目前正在使用rcorr来查找相关性,但是日期一直是个问题,因此我需要将日期转换为数字,然后再转换回来。
答案 0 :(得分:1)
让我们使用合成数据,因为您只粘贴在图像中:
set.seed(100)
x = rnorm(100)
y = rnorm(100)
现在我们使用ccf:
z <- ccf(x,y, plot = F) #don't want plot
z是我们的结果列表,我们可以做一些子集来获得最大滞后:
bestval = which.max(z$acf)
z$lag[bestval] #our lag
16
对于时间序列,它会变得更难 - 如果你的行中没有统一的时间步长,你可能需要进行一些规范化。