Closed
Description
Hi,
I ran into an error while performing analyses in parallel, with a formula defined before the %dopar%
loop that needs to get variables in the global environment.
The following code throws an error:
x <- rnorm(100)
y <- 5 + 2 * x + rnorm(100, 0, .2)
form <- y ~ x
cl <- makeCluster(2)
registerDoParallel(cl)
foreach(i = 1:2, .packages = "mixmeta") %dopar% {
model <- lm(form)
}
stopCluster(cl)
On the other hand, either putting the variables into a data.frame or defining the formula within the %dopar%
loop work fine.
x <- rnorm(100)
y <- 5 + 2 * x + rnorm(100, 0, .2)
df <- data.frame(y = y, x = x)
form <- y ~ x
cl <- makeCluster(2)
registerDoParallel(cl)
foreach(i = 1:2) %dopar% {
model <- lm(form, data = df)
}
stopCluster(cl)
x <- rnorm(100)
y <- 5 + 2 * x + rnorm(100, 0, .2)
cl <- makeCluster(2)
registerDoParallel(cl)
foreach(i = 1:2) %dopar% {
model <- lm(y ~ x)
}
stopCluster(cl)
This is not a crippling issue as it is easy to find a workaround, but I thought you might want to know.
Thanks!
Metadata
Metadata
Assignees
Labels
No labels