मेरे पास उत्पादों की सूची है: P1, P2, P3, P4 विभिन्न श्रेणियों से संबंधित, df CAT के अनुसार . प्रत्येक उत्पाद के लिए दो समय श्रृंखला संबद्ध हैं: 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 एक ही प्रारूप में संलग्न नहीं होता है

सराहना :)

2
lucas 27 अप्रैल 2020, 01:18

1 उत्तर

सबसे बढ़िया उत्तर

हम इसका उपयोग कर सकते हैं

out <- lapply(Map(c, ofs, sales), function(x) do.call(ts.intersect, x))
1
akrun 27 अप्रैल 2020, 01:57