2013-02-19 17 views
14

Semplice domanda davvero! Sto eseguendo molte regressioni lineari di y~x e voglio ottenere la varianza per ogni regressione senza calcolarla dalla mano dall'output Errore standard fornito nel comando summary.lm. Solo per risparmiare un po 'di tempo :-). Qualche idea del comando per fare questo? O dovrò scrivere una funzione per farlo da solo?Come si stampa la varianza di un lm in R senza calcolare a mano l'errore standard?

m<-lm(Alopecurus.geniculatus~Year) 
> summary(m) 

Call: 
lm(formula = Alopecurus.geniculatus ~ Year) 

Residuals: 
    Min  1Q Median  3Q  Max 
-19.374 -8.667 -2.094 9.601 21.832 

Coefficients: 
      Estimate Std. Error t value Pr(>|t|) 
(Intercept) 700.3921 302.2936 2.317 0.0275 * 
Year   -0.2757  0.1530 -1.802 0.0817 . 
--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 11.45 on 30 degrees of freedom 
    (15 observations deleted due to missingness) 
Multiple R-squared: 0.09762, Adjusted R-squared: 0.06754 
F-statistic: 3.246 on 1 and 30 DF, p-value: 0.08168 

in modo da ottenere una potenza Errore standard e speravo di ottenere un'uscita varianza senza calcolare a mano ...

+0

Potresti fornire un esempio? –

+0

Appena aggiunto nell'esempio, spero che sia d'aiuto ... :) – Sarah

+0

Mi dispiace che fosse fuori tema - non ho usato questo sito prima :). Intendo la statistica della varianza effettiva che viene a sua volta utilizzata per calcolare SE e così via. È facile da calcolare, mi chiedevo solo se ci fosse una semplice chiamata per questo. Lo farò a mano però, non importa. Saluti :) – Sarah

risposta

17

Non sono sicuro di cosa desideri la variazione di.

Se si desidera che il residuo varianza , è: (summary(m)$sigma)**2.

Se si desidera che la varianza della vostra versante, è: (summary(m)$coefficients[2,2])**2 o vcov(m)[2,2].

+0

Grazie a tutti. Era la varianza della pendenza che volevo, quindi è davvero utile gung, grazie. – Sarah

7

se ti riferisci agli errori standard per le stime dei coefficienti, il risposta è

summary(m)$coef[,2] 

e se ti riferisci alla varianza residua stimata, è

summary(m)$sigma 

Digitare names(summary(m)) e names(m) per altre informazioni a cui è possibile accedere.

8

vcov(m)

dà la matrice di covarianza dei coefficienti - varianze sulla diagonale.