Вы можете получить доступ к коэффициентам с помощью model$coefficients
. Например, если вы хотите умножить все коэффициенты на 10, вы можете сделать
df = data.frame(x = runif(100), y = runif(100), z = runif(100))
mod = lm(formula = y ~ x*z, data = df)
mod$coefficients
#> (Intercept) x z x:z
#> 0.6449097 -0.1989884 -0.3962655 0.4621273
mod$coefficients*10
#> (Intercept) x z x:z
#> 6.449097 -1.989884 -3.962655 4.621273
Создано 10.07.2020 с помощью пакета (v0.3.0)
Однако, если вы хотите сделать то же, что и в вашем примере, вам нужно получить доступ к неопределяемым коэффициентам с помощью model$coefficients[i]
, например,
df = data.frame(x = runif(100), y = runif(100), z = runif(100))
mod = lm(formula = y ~ x*z, data = df)
mod$coefficients[1]*10
#> (Intercept)
#> 5.994662
mod$coefficients[2]*10
#> x
#> -1.687928
Создано 2020- 07-10 с помощью пакета correx (v0.3.0)
Вы можете даже сделать это динамически, перебирая длину объекта coefficients
.