Итак, ранее я публиковал похожий вопрос, но это своего рода расширение. Сложность моего набора данных увеличилась, и теперь мой набор данных представляет собой список фреймов данных, где каждый фрейм данных имеет KEY
, CAL
, OAS
. KEY
- это уникальное значение, которое изменяется от одного фрейма данных к другому. CAL
- это временная шкала, которую я должен использовать для создания объекта ts, выраженного в week.year. OAS
- количество единиц, которые записываются за каждую неделю. Исходный набор данных имеет около 250 фреймов данных, для удобства я выкладываю только 2.
KEY CAL OAS
444-12235140 01.2019 144.5667
444-12235140 02.2019 139.6333
444-12235140 03.2019 212.6667
444-12235140 04.2019 415.7000
444-12235140 05.2019 433.5333
444-12235140 06.2019 439.8000
фрейм данных 1
KEY CAL OAS
556-11337513 21.2019 0.00000
556-11337513 22.2019 0.00000
556-11337513 23.2019 0.00000
556-11337513 24.2019 57.00000
556-11337513 25.2019 17.20909
556-11337513 26.2019 130.01818
фрейм данных 2
CAL
колеблется от 1 до 52 (с отсутствующими значениями в течение нескольких недель), а также с изменением года с 2019 по 2021 год. Я попытался изменить подход (как предлагал предыдущий великодушный автор):
tt <-list()
for (i in 1:num_of_unique_keys) {
week <-as.integer(ds2[[i]][[2]])
year <- as.numeric(sub("...", "",ds2[[i]][[2]]))
zz <- zoo(ds2[[i]][[3]], year + (week - 1) / 52)
tt[[i]] <- ts(zz, frequency = 52)
}
num_of_unique_keys
это количество данных. Но я сталкиваюсь с ошибкой
Ошибка в seq.default (head (tt, 1), tail (tt, 1), deltat): 'from' должно быть конечным числом
Есть идеи, как это можно решить?