R函数搜索两个数据集之间的最佳相关性

时间:2017-01-09 04:29:19

标签: r function

我现在已经坚持了一段时间,我觉得很难相信这不是一个内置功能,或者有人在此之前没有处理过这个问题。

我想要运行的函数应比较数据帧的两列,直到它们找到最佳相关性。我使用的数据来自两个科学仪器,它们的采样/平均时间不同,这就是我想要移动数据的原因。

将仅调整与一个元素相关联的日期。

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

如果有一个功能可以做到这一点,如果不是,我会提供额外的信息+代码

这是我目前的代码结构。 Date is POXISct 'GMT', Dusttrak is numeric, CO is numeric, color is a number I have created from time to give me a colored time series

我目前正在使用rcorr来查找相关性,但是日期一直是个问题,因此我需要将日期转换为数字,然后再转换回来。

1 个答案:

答案 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

对于时间序列,它会变得更难 - 如果你的行中没有统一的时间步长,你可能需要进行一些规范化。