Erro ao chamar `lm` em um argumento` lapply` com `pesos '

Eu encontrei um comportamento estranho ao ligarlm dentro de umlapply usando oweights argumento.

Meu código consiste em uma lista de fórmulas nas quais eu executo um modelo linear que eu chamolapply. Até agora estava funcionando:

dd <- data.frame(y = rnorm(100),
                 x1 = rnorm(100),
                 x2 = rnorm(100),
                 x3 = rnorm(100),
                 x4 = rnorm(100),
                 wg = runif(100,1,100))

ls.form <- list(
  formula(y~x1+x2),
  formula(y~x3+x4),
  formula(y~x1|x2|x3),
  formula(y~x1+x2+x3+x4)
)

res.no.wg <- lapply(ls.form, lm, data = dd)

No entanto, quando adiciono oweights argumento, recebo um erro estranho:

res.with.wg <- lapply(ls.form, lm, data = dd, weights = dd[,"wg"])
Error in eval(extras, data, env) : 
  ..2 used in an incorrect context, no ... to look in

É como se o... delapply estava em conflito com o... dolm ligar, mas apenas por causa daweights argumento.

Alguma idéia foi a causa desse problema e como corrigi-lo?

NOTA: usando a chamada sem olapply funciona como esperado:

lm(ls.form[[1]], data = dd, weights = dd[,"wg"] )

Call:
lm(formula = ls.form[[1]], data = dd, weights = dd[, "wg"])

Coefficients:
(Intercept)           x1           x2  
   -0.12020      0.06049     -0.01937  

EDITAR A chamada final é umalapply dentro de umfunction do tipo:

f1 <- function(samp, dat, wgt){
res.with.wg2 <- lapply(ls.form, function(x) {lm(formula = x, data=dat[samp,], weights=dat[samp,wgt])})
}

f1(1:66, dat=dd, wgt = "wg")

questionAnswers(2)

yourAnswerToTheQuestion