Ответ 1
Просто используйте
acf(coredata(jan))
Это должно работать нормально. Имейте в виду, что вам необходимо предоставить регулярные интервальные ряды, чтобы дать вам весомый ответ.
Я пытаюсь проверить автокорреляцию в объекте зоопарка (ежемесячные данные с несколькими столбцами), используя:
acf(jan, plot=F)$acf[2]
но я получаю следующую ошибку:
Error in na.fail.default(as.ts(x)) : missing values in object
Чтобы упростить, я извлек только один из столбцов, который я назвал "a" (так что теперь у меня есть простой объект зоопарка с индексом и данными) и используется:
acf(a)
но все равно получите ту же ошибку. Невозможно использовать в объектах зоопарка?
Просто используйте
acf(coredata(jan))
Это должно работать нормально. Имейте в виду, что вам необходимо предоставить регулярные интервальные ряды, чтобы дать вам весомый ответ.
Поведение по умолчанию для acf
- na.action = na.fail
. Попробуйте установить его в na.omit
или na.pass
в своем вызове acf(..., na.action = na.omit)
У меня была такая же проблема, как и при попытке использовать функцию ACF при ежемесячном возврате S & P. Оказывается, функция coredata решила проблему, поскольку она удалила информацию о дате из результатов в моем наборе данных из yahoo finance.
вы можете сделать снимок!
Или самостоятельно сделанный
autocorrplot <- function(x)
{
n <- length(x)
barplot(sapply(1:10,function(i) cor(x[-i:-1],x[(-n-1+i):-n])))
}