robusta - regresion lineal simple
Extrae el valor del cuadrado R con R en modelos lineales (3)
Esta pregunta ya tiene una respuesta aquí:
- sacar p-valores y r-cuadrado de una regresión lineal 11 respuestas
Sé que usar el summary
me ayudará a hacer esto manualmente, sin embargo, tendré que calcular toneladas de valores de R cuadrado. Por lo tanto, necesito que la computadora lo extraiga para mí. Aquí hay un ejemplo simple:
library(alr3)
M.lm=lm(MaxSalary~Score,data=salarygov)
#Here you will see the R square value
summary(M.lm)
¿Cómo puedo hacer eso?
Con un solo predictor, simplemente puede usar cor(salarygov$MaxSalary ,salarygov$Score)^2
. Alternativamente, summary(M.lm)$r.squared
.
Depende de cuál le interese:
# adjusted R²
summary(M.lm)$adj.r.squared
# R²
summary(M.lm)$r.squared
El R cuadrado, el R cuadrado ajustado y todos los demás valores que ve en el resumen son accesibles desde el objeto de resumen. Puedes ver todo usando 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
Para obtener el valor de R cuadrado, escriba summary(M.lm)$r.squared
o summary(M.lm)$adj.r.squared