Скажем, у меня есть два вектора одинаковой длины
A = mtcars$mpg
B = mtcars$cyl
Я могу рассчитать корреляцию между целыми векторами
cor (A, B)
и получить одно значение (-0.852162
).
Мне нужно рассчитать корреляцию между двумя векторами с частотой дискретизации 10, что означает, что я начинаю с первого пункта данных в A и B, возьму 5 значений справа от него (нет значений наслева), вычислите коэффициент корреляции и запишите его в векторе C. Затем я беру следующее значение в A & B, беру 5 значений справа и 1 слева, записываю его в вектор;затем снова перейдите к следующему значению и так далее.Результирующий вектор C должен содержать то же количество значений, что и A или B (N = 32), и каждое значение в C представляет корреляцию b / w A и B с частотой дискретизации 10 (5 значений слева и 5 напрямо с этой даты, если это возможно).Есть ли какой-нибудь элегантный и простой способ сделать это в R?
PS: Простота кодирования важнее, чем время, необходимое для вычислений.