r - 将时间序列附加到 r 中的时间序列列表
问题描述
我有产品清单:根据df CAT属于不同类别的P1、P2、P3、P4。对于每个产品,都有两个相关的时间序列: ts_sales和ts_ofs(代表销售和缺货)。
我想将P1的销售时间序列与P2、P3的缺货相关联(属于同一类别)
此代码显示了我如何关联同一类别产品的销售时间序列:
rm(list=ls())
CAT <- data.frame(PROD = c('P1','P2','P3','P4'),CAT = c('C1','C1','C1','C2'))
ts_sales <- list()
ts_sales$'P1' <- ts(runif(10,0,1), start=c(2019,1), frequency = 12)
ts_sales$'P2' <- ts(runif(10,0,1), start=c(2019,1), frequency = 12)
ts_sales$'P3' <- ts(runif(10,0,1), start=c(2019,1), frequency = 12)
ts_sales$'P4' <- ts(runif(10,0,1), start=c(2019,1), frequency = 12)
ts_ofs <- list()
ts_ofs$'P1' <- ts(runif(10,0,1), start=c(2019,1), frequency = 12)
ts_ofs$'P2' <- ts(runif(10,0,1), start=c(2019,1), frequency = 12)
ts_ofs$'P3' <- ts(runif(10,0,1), start=c(2019,1), frequency = 12)
ts_ofs$'P4' <- ts(runif(10,0,1), start=c(2019,1), frequency = 12)
sales <- with(CAT,split(as.character(PROD), CAT))
sales <- lapply(sales, function(x) ts_sales[x])
ofs <- with(CAT,split(as.character(PROD), CAT))
ofs <- lapply(ofs, function(x) ts_ofs[x])
cor(do.call(ts.intersect, sales$C1))
我试过:
c(ofs$C1,sales$C1$P1)
但sales$C1$P1不会以相同的格式附加
欣赏 :)
解决方案
我们可以用
out <- lapply(Map(c, ofs, sales), function(x) do.call(ts.intersect, x))
推荐阅读
- php - 如何使用 PHP7.1 将 P7C 文件转换为 pem 文件?
- python - 基于分组数据标记列
- java - 根据java中的最新时间戳从列表中查找唯一记录
- amazon-web-services - 使用 amazon cognito 的电子邮件验证链接
- ruby-on-rails - Yarn 升级不会删除 yarn.lock 文件中旧版本的 js-yaml 包
- python - 如何编写此 Python 代码以删除重复值 Java?
- regex - 在 BigQuery 的正则表达式中使用多列
- python - 当桌面上有额外的弹出窗口时如何在 Windows 10 中截取屏幕截图
- node.js - 如何在猫鼬中动态填充对象数组?
- r - 从 rasterBrick 计算每个栅格的最大值和最小值