Синтаксическая ошибка в пакете tsoutliers с использованием набора данных Nile - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь найти выбросы во временном ряду, используя пакет tsoutliers.

Я использую классический набор данных Nile (который вы можете найти здесь: https://vincentarelbundock.github.io/Rdatasets/datasets.html), и я безуспешно заставляю работать функцию tso ().

Мой код:

nile.outliers <- tso(Nile,types = c("AO","LS","TC"))

Тем не менее, я получаю эту синтаксическую ошибку, или я предполагаю, что это синтаксическая ошибка:

Ошибка в tso0 (x = y, xreg = xreg, cval = cval, delta = delta, n.start = n.start,: пытается получить слот "y" от объекта (класс "data.frame"), который не является объектом S4

Если кто-нибудь может помочь мне разобраться в этой проблеме, это было бы удивительно! Спасибо!

1 Ответ

0 голосов
/ 15 ноября 2018

Приговор: это не синтаксическая ошибка (которая исходит от R), это ошибка времени выполнения из функции tso0 в пакете tsoutliers.

Но из вашего описания того, где взять данные, выглядит, как будто вы передаете фрейм данных, когда tso хочет получить объект "ts". Вам не нужно загружать данные, они встроены в R; поэтому вы удаляете созданный вами плохой и используете встроенный:

rm(Nile)
nile.outliers <- tso(Nile,types = c("AO","LS","TC"))
...