I have a foreach loop that runs regressions in parallel and works fine, but
when I try to add the weights parameter to the regression the coefficients
don’t get stored in the “models” variable like they are supposed to. Below is
my reproducible example:
library(doParallel)
cl <- makeCluster(4)
registerDoParallel(cl)
fmla <- as.formula("y ~ .")
models <- foreach(d=1:10, .combine=rbind, .errorhandling='remove') %dopar% {
datdf <- data.frame(y = 1:100+2*rnorm(100), x = 1:100+rnorm(100))
weights <- rep(c(1,2), 50)
mod <- lm(fmla, data=datdf, weights=weights)
#mod <- lm(fmla, data=datdf)
return(mod$coef)
}
models
You can change the commenting on the two “mod <-“ lines to see that the
non-weighted one works and the weighted regression doesn’t work. I tried using
.export="weights" in the foreach line, but R says that weights is already being
exported.
Thanks in advance for any suggestions.
***************************************************************
This message and any attachments are for the intended recipient's use only.
This message may contain confidential, proprietary or legally privileged
information. No right to confidential or privileged treatment
of this message is waived or lost by an error in transmission.
If you have received this message in error, please immediately
notify the sender by e-mail, delete the message, any attachments and all
copies from your system and destroy any hard copies. You must
not, directly or indirectly, use, disclose, distribute,
print or copy any part of this message or any attachments if you are not
the intended recipient.
______________________________________________
[email protected] mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.