foreach实现在R中崩溃并生成错误
我是在R中使用foreach实现在R中崩溃并生成错误,r,foreach,doparallel,R,Foreach,Doparallel,我是在R中使用foreach包的新手,需要一些关于 我的密码 我有一个数据帧,它有location.Id和iterationID,如下所示 exp_df <- data.frame(location.Id = sample(1:10, 1000, replace = T), iterationID = 1:1000) 我的目标是,对于每一行的exp\u df,我要选择它是什么location.Id,然后执行操作 使用x1、x2和x3进行如下计算
foreach
包的新手,需要一些关于
我的密码
我有一个数据帧,它有location.Id
和iterationID
,如下所示
exp_df <- data.frame(location.Id = sample(1:10, 1000, replace = T),
iterationID = 1:1000)
我的目标是,对于每一行的exp\u df
,我要选择它是什么location.Id
,然后执行操作
使用x1
、x2
和x3
进行如下计算
library(foreach)
library(doParallel)
myClusters <- makeCluster(6)
registerDoParallel(myClusters)
results <-
foreach(i = 1:nrow(exp_df)) %dopar%
{
library(data.table)
library(dplyr)
temp <- exp_df[i, ]
mydat <- fread('dat.csv')[location.Id == temp$location.Id]
mydat <- mydat %>% dplyr::mutate(finalVal = x1 + x2 + x3)
return(mydat)
}
stopCluster(myClusters)
产生上述错误的原因是什么
谢谢我做了一件似乎有效的事情,不知道是否有人对此有意见 我把我的
exp\u df
分成小块
splitdf <- split(exp_df, (as.numeric(rownames(exp_df))-1) %/% 50)
splitdf我做了一件似乎有效的事情,不知道是否有人对此有意见
我把我的exp\u df
分成小块
splitdf <- split(exp_df, (as.numeric(rownames(exp_df))-1) %/% 50)
splitdf是内存问题吗?我不知道这就是我问的原因。是什么导致的?是记忆问题吗?我不知道这就是我问的原因。是什么导致的?
splitdf <- split(exp_df, (as.numeric(rownames(exp_df))-1) %/% 50)
final_result <- list()
for(l in 1:length(splitdf)) {
exp_df <- splitdf[[l]]
myClusters <- makeCluster(6)
registerDoParallel(myClusters)
results <- foreach(i = 1:nrow(exp_df)) %dopar%
{
library(data.table)
library(dplyr)
temp <- exp_df[i, ]
mydat <- fread('dat.csv')[location.Id == temp$location.Id]
mydat <- mydat %>% dplyr::mutate(finalVal = x1 + x2 + x3)
return(mydat)
}
stopCluster(myClusters)
final_result[[l]] <- rbindlist(result)
}