Как при использовании формулы lm с тильдой и точкой исключить вес из независимых переменных?

У меня есть формула регрессии lm, и я не хочу перечислять имена переменных в формуле lm. Поэтому я использую тильду с точкой (~ .) следующим образом:

lm(qsec ~ ., mtcars)

Call:
lm(formula = qsec ~ ., data = mtcars)

Coefficients:
(Intercept)          mpg          cyl         disp           hp         drat           wt           vs           am  
  17.776177     0.069048    -0.362678    -0.007501    -0.001563    -0.131064     1.496332     0.970035    -0.901186  
       gear         carb  
  -0.201285    -0.273598 

Но когда мне также нужно weights, например. используя «углевод», переменная веса также используется как независимая переменная:

lm(qsec ~ ., mtcars, weights = carb)

Call:
lm(formula = qsec ~ ., data = mtcars, weights = carb)

Coefficients:
(Intercept)          mpg          cyl         disp           hp         drat           wt           vs           am  
  18.914385     0.047175    -0.373792    -0.006538    -0.001695    -0.395044     1.390740     1.123131    -0.511150  
       gear         carb  
  -0.145504    -0.274229 

Конечно, вес не должен использоваться как независимая переменная, а вот так:

lm(qsec ~ mpg + cyl + disp + hp + drat + wt + vs + am + gear, mtcars, weights = carb)

Call:
lm(formula = qsec ~ mpg + cyl + disp + hp + drat + wt + vs + 
    am + gear, data = mtcars, weights = carb)

Coefficients:
(Intercept)          mpg          cyl         disp           hp         drat           wt           vs           am  
  19.917916     0.064361    -0.436490    -0.002258    -0.006301    -0.427495     1.017749     1.279865    -0.632002  
       gear  
  -0.356196  

Как я могу использовать тильду вместе с весами?


person Luitpold Wienerle    schedule 17.02.2021    source источник
comment
Используйте 1_   -  person MrFlick    schedule 18.02.2021