У меня есть фрейм данных mydf
, содержащий 6 столбцов данных временных рядов.
Я хочу рассчитать корреляцию всех этих данных, что легко сделать с помощью cor(mydf)
.Однако я хочу умножить каждое из корреляций на квадратный корень из соответствующих долгосрочных отклонений (я принимаю произвольную задержку автокорреляции 5) каждого попарного столбца.
Для демонстрации val = cor(mydf[,1], mydf[,2])
cov_temp1 = acf(mydf[,1], type = "covariance", lag.max = 5, plot = FALSE, na.action = na.pass)$acf
cov_temp2 = acf(mydf[,2], type = "covariance", lag.max = 5, plot = FALSE, na.action = na.pass)$acf
s.e. = sqrt((cov_temp1[1]+2*sum(cov_temp1[-1]))/nrow(mydf) * (cov_temp2[1]+2*sum(cov_temp2[-1]))/nrow(mydf))
Тогда парная статистика для столбцов 1 и 2 равна val*s.e.
.Предполагая, что у меня есть 6 столбцов данных, что я делаю, я хочу построить одну и ту же статистику для всех итераций попарных столбцов, а затем суммировать их.Я не совсем уверен, как поступить?