使用 multidplyr 时如何按多列拆分
how to split by multiple columns when using multidplyr
tl;dr
如何从多个列上的乘数拆分得到 "partition"?
动机:
我对使用 32 个核心中的 1 个核心进行辛勤总结感到不满意,所以我尝试使用 multi-dplyer 我在多个列上操作。
示例:
小插图显示按单个列分组,但当我这样做时,不考虑我的其他分组列。
代码:
library(dplyr)
library(multidplyr)
library(nycflights13)
flights1 <- partition(flights, flight)
flights2 <- summarise(flights1, dep_delay = mean(dep_delay, na.rm = TRUE))
flights3 <- collect(flights2)
那么按年、月、日拆分怎么样?
这对我不起作用:
flights1 <- partition(flights, list(year, month, day))
flights2 <- summarise(flights1, dep_delay = mean(dep_delay, na.rm = TRUE))
flights3 <- collect(flights2)
我似乎无法完成这项工作。您能否指出一种适当的或至少有效的方法来做到这一点?
根据?partition
,partition
的用法是
partition(.data, ..., cluster = get_default_cluster())
其中 ...
是分区依据的变量。不是传入变量列表,而是分别传入每个变量,即
partition(flights, year, month, day)
tl;dr
如何从多个列上的乘数拆分得到 "partition"?
动机:
我对使用 32 个核心中的 1 个核心进行辛勤总结感到不满意,所以我尝试使用 multi-dplyer 我在多个列上操作。
示例:
小插图显示按单个列分组,但当我这样做时,不考虑我的其他分组列。
代码:
library(dplyr)
library(multidplyr)
library(nycflights13)
flights1 <- partition(flights, flight)
flights2 <- summarise(flights1, dep_delay = mean(dep_delay, na.rm = TRUE))
flights3 <- collect(flights2)
那么按年、月、日拆分怎么样?
这对我不起作用:
flights1 <- partition(flights, list(year, month, day))
flights2 <- summarise(flights1, dep_delay = mean(dep_delay, na.rm = TRUE))
flights3 <- collect(flights2)
我似乎无法完成这项工作。您能否指出一种适当的或至少有效的方法来做到这一点?
根据?partition
,partition
的用法是
partition(.data, ..., cluster = get_default_cluster())
其中 ...
是分区依据的变量。不是传入变量列表,而是分别传入每个变量,即
partition(flights, year, month, day)