继这里和这里的问题之后,我正在尝试让最新版本的multidplyr
使用自定义函数。
通过可重现的示例,我尝试了:
library(multidplyr)
library(dplyr)
cl <- new_cluster(3)
df <- data.frame(Grp = rep(LETTERS[1:3], each = 4), Val = rep(3:1, 4))
cust_func <- function (x) {
x + 1
}
cluster_copy(cl, "cust_func")
df_clust <- df %>%
group_by(Grp) %>%
partition(cl)
df_clust %>%
mutate(Add1 = cust_func(Val)) %>%
collect()
但是我得到一个Computation failed
错误。我尝试了不同的排序和其他一些小的变化,但没有运气。
是否可以将自定义函数导出到最新版本的multidplyr
集群?如果是这样,如何?
以下内容是否达到了您的预期?
new_cust_func <- function (x) {
x$Val + 1
return(x)
}
df_clust %>%
do(new_cust_func(.)) %>%
collect()