2014-05-07 15 views
28

So che l'utilizzo di summary mi aiuterà a farlo manualmente, tuttavia, dovrò calcolare tonnellate di valori di R-squared. Pertanto, ho bisogno del computer per estrarlo per me. Ecco un semplice esempio:Estratto valore R-quadrato con R nei modelli lineari

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

Come posso farlo?

risposta

49

L'R-squared regolati R-squared, e tutti gli altri valori visualizzati nel sommario sono accessibili dall'interno dell'oggetto sintesi. Si può vedere tutto utilizzando 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 

per ottenere il valore R al quadrato, tipo summary(M.lm)$r.squared o summary(M.lm)$adj.r.squared

+0

Questo sembra funzionare solo quando v'è una variabile lato sinistro. – John

+1

Le variabili di riepilogo dovrebbero comunque apparire tutte quando ci sono due variabili di sinistra. Vedi 'str (sommario (lm (prezzo + carat ~ x + y + z, data = ggplot2 :: quadri)))' – Andrew

7

Con un predittore è possibile utilizzare semplicemente . In alternativa, summary(M.lm)$r.squared.

0

Dipende quale si è interessati a:

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