[R] weighted regression inside FOREACH loop

Bos, Roger
Fri, 07 Oct 2016 13:24:31 -0000

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.