R:如何使用2个或多个变量定义分区来划分组(multidplyr)

时间:2018-08-09 08:10:22

标签: r

我对multidplyr有问题。我的原始数据:

      warehouse quantity   stock_date flag_stock
1         a        1       2018-01-01     1
2         b        2       2018-01-01     0
3         a        0       2018-01-02     1 
4         a        2       2018-01-02     1
...

 cluster <- multidplyr::create_cluster(detectCores() - 1)
 set_default_cluster(cluster)

我想使用multidplyr按仓库和date_add汇总数据:

warehouse.stock %>% 
multidplyr::partition(warehouse.stock, 
groups = c(warehouse, stock_date), cluster = cluster) %>% 
summarize(n = sum(quantity), disp = sum(flag_stock)) %>% 
collect()

但是当我运行代码时,我得到了以下错误消息:

错误:所有分区变量必须已经存在

谢谢!

1 个答案:

答案 0 :(得分:0)

您的分组变量必须在原始数据集中, stock_date 列未出现在上面的数据集中。

这是您想要的吗?

warehouse.stock %>% 
multidplyr::partition(., 
groups = c(warehouse, date_add), cluster = cluster) %>% 
summarize(n = sum(quantity), disp = sum(flag_stock)) %>% 
collect()