我有500个数据集(面板数据),每个数据集中都有一个跨越不同商店(店铺)的时间序列(周)。在每个商店内,我需要添加缺失的时间序列观测值。
我的数据样本为:
store week value
1 1 50
1 3 52
1 4 10
2 1 4
2 4 84
2 5 2
我希望它看起来像:
store week value
1 1 50
1 2 0
1 3 52
1 4 10
2 1 4
2 2 0
2 3 0
2 4 84
2 5 2
我目前使用以下代码(可以运行,但在我的数据上非常缓慢):
stores<-unique(mydata$store)
for (i in 1:length(stores)){
mydata <- merge(
expand.grid(week=min(mydata$week):max(mydata$week)),
mydata, all=TRUE)
mydata[is.na(mydata)] <- 0
}
有更好、更高效的方法吗?