gpt4 book ai didi

R:如何在 foreach %dopar% 中拆分数据帧

转载 作者:行者123 更新时间:2023-12-01 23:41:12 27 4
gpt4 key购买 nike

这是一个非常简单的例子。

df = c("already ","miss you","haters","she's cool")
df = data.frame(df)

library(doParallel)
cl = makeCluster(4)
registerDoParallel(cl)
foreach(i = df[1:4,1], .combine = rbind, .packages='tm') %dopar% classification(i)
stopCluster(cl)

在实际情况下,我有 n=400000 行的数据框。
我不知道如何一步发送每个集群的 nrow/ncluster 数据, i = ?

我尝试使用库(itertools)中的 isplitRows 没有成功。

最佳答案

您应该尝试使用索引来创建数据的子集。

foreach(i = nrow(df), .combine = rbind, .packages='tm')  %dopar% {
tmp <- df[i, ]
classification(tmp)
}

这将需要 data.frame 的新行每次迭代。

此外,您应该注意到 foreach 循环的结果将写入一个新变量。因此,您应该像这样分配它:
res <- foreach(i = 1:10, .combine = c, ....) %dopar% {
# things you want to do
x <- someFancyFunction()

# the last value will be returned and combined by the .combine function
x
}

关于R:如何在 foreach %dopar% 中拆分数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39765172/

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