首页 > 解决方案 > 根据 R 中的数据框列表创建 ts 对象列表

问题描述

所以我之前发布了一个类似的问题,但这是对它的一种扩展。我的数据集的复杂性增加了,现在我的数据集是一个数据框列表,其中每个数据框都有一个KEY, CAL, OAS. KEY是从一个数据帧到另一个数据帧的唯一值。CAL是我必须用来制作以 week.year 表示的 ts 对象的时间尺度。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

范围从 1 到 52(缺少数周的CAL值)和 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' 必须是有限数

关于如何解决的任何想法?

标签: rdataframetime-series

解决方案


推荐阅读