gpt4 book ai didi

r - 如何使用dplyr并行执行do()调用

转载 作者:行者123 更新时间:2023-12-03 12:33:16 24 4
gpt4 key购买 nike

我试图弄清楚如何并行部署dplyr::do函数。阅读一些文档后,看来dplyr :: init_cluster()应该足以告诉do()并行运行。不幸的是,当我对此进行测试时,情况似乎并非如此:

library(dplyr)
test <- data_frame(a=1:3, b=letters[c(1:2, 1)])

init_cluster()
system.time({
test %>%
group_by(b) %>%
do({
Sys.sleep(3)
data_frame(c = rep(max(.$a), times = max(.$a)))
})
})
stop_cluster()


给出以下输出:

Initialising 2 core cluster.
|==========================================================================|100% ~0 s remaining
user system elapsed
0.03 0.00 6.03


如果在两个内核之间分配do调用,我希望它是3。我也可以通过在主R终端中打印的do()中添加打印来确认这一点。我在这里想念什么?

我正在使用dplyr 0.4.2和R 3.2.1

最佳答案

根据https://twitter.com/cboettig/status/588068454239830017,当前似乎不支持此功能。

关于r - 如何使用dplyr并行执行do()调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31637181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com