1

我有一个根据日期、状态和产品代码索引价格的数据框。

但是,有些数据丢失了。我想要日期、状态和产品代码的每个可能组合的数据点。

(顺便说一下,我的日期向量是从 200601 到 201212 的整数。)

我想这样做的方法是,对于每个缺失的价格,在最近的日期为同一州的同一 UPC 取价格。

假设状态 1 中的产品 A 缺少 200803 的价格。我想创建一个算法来查找状态 1 中产品 A 的 200804 价格,然后是 200802,然后是 200805 等,直到它找到价格。如果该州根本没有该产品的价格,我只想要一个 NA。

有谁知道如何做到这一点?我想有一个包可以做到这一点。谢谢。

4

1 回答 1

1

我们可以使用来获取三列expand.grid中值的所有组合。unique然后,使用mergewithall.x=TRUE与初始数据集合并。

 df2 <- expand.grid(lapply(df1[c('Date', 'State', 
                  'Product Code')], unique))
 merge(df2, df1, by = c('Date', 'State', 'Product Code'),
             all.x=TRUE)
于 2016-02-10T03:07:42.820 回答