создание списка объектов ts на основе списка фреймов данных в R - PullRequest
0 голосов
/ 05 марта 2020

Итак, ранее я публиковал похожий вопрос, но это своего рода расширение. Сложность моего набора данных увеличилась, и теперь мой набор данных представляет собой список фреймов данных, где каждый фрейм данных имеет 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' должно быть конечным числом

Есть идеи, как это можно решить?

...