Подтвердить что ты не робот

Извлечение R-квадратного значения с R в линейных моделях

Я знаю, что использование summary поможет мне сделать это вручную, однако мне придется вычислять тонны значений R-квадратов. Поэтому мне нужен компьютер, чтобы извлечь его для меня. Вот простой пример:

library(alr3)
M.lm=lm(MaxSalary~Score,data=salarygov)
#Here you will see the R square value
summary(M.lm)

Как я могу это сделать?

4b9b3361

Ответ 1

R-квадрат, скорректированный R-квадрат и все другие значения, которые вы видите в сводке, доступны изнутри объекта сводки. Вы можете увидеть все, используя str(summary(M.lm)):

> str(summary(M.lm))  # Truncated output...
List of 11
 $ call         : language lm(formula = MaxSalary ~ Score, data = salarygov)
 $ terms        :Classes 'terms', 'formula' length 3 MaxSalary ~ Score
 ...
 $ residuals    : Named num [1:495] -232.3 -132.6 37.9 114.3 232.3 ...
 $ coefficients : num [1:2, 1:4] 295.274 5.76 62.012 0.123 4.762 ...
 $ aliased      : Named logi [1:2] FALSE FALSE
 $ sigma        : num 507
 $ df           : int [1:3] 2 493 2
 $ r.squared    : num 0.817
 $ adj.r.squared: num 0.816
 $ fstatistic   : Named num [1:3] 2194 1 493
 $ cov.unscaled : num [1:2, 1:2] 1.50e-02 -2.76e-05 -2.76e-05 5.88e-08

Чтобы получить значение R-квадрата, введите summary(M.lm)$r.squared или summary(M.lm)$adj.r.squared

Ответ 2

С помощью одного предиктора вы можете просто использовать cor(salarygov$MaxSalary ,salarygov$Score)^2. Альтернативно, summary(M.lm)$r.squared.

Ответ 3

Это зависит от того, кого вы интересуете:

 # adjusted R²
 summary(M.lm)$adj.r.squared
 # R²
 summary(M.lm)$r.squared