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

Как распечатать дисперсию lm в R без вычисления стандартной ошибки вручную?

Простой вопрос! Я запускаю множество линейных регрессий y~x и хочу получить дисперсию для каждой регрессии, не вычисляя ее вручную из вывода стандартной ошибки, указанного в команде summary.lm. Просто чтобы сэкономить немного времени:-). Любые идеи команды сделать это? Или мне нужно написать функцию, чтобы сделать это самостоятельно?

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 

Итак, я получаю стандартный вывод ошибки, и я надеялся получить выход Variance, не вычисляя его вручную...

4b9b3361

Ответ 1

Я не уверен, что вы хотите изменить.

Если вам нужна остаточная дисперсия, это: (summary(m)$sigma)**2.

Если вам нужна дисперсия вашего склона, это: (summary(m)$coefficients[2,2])**2 или vcov(m)[2,2].

Ответ 2

vcov(m)

дает ковариационную матрицу коэффициентов - дисперсии на диагонали.

Ответ 3

если вы ссылаетесь на стандартные ошибки для оценок коэффициентов, ответ

summary(m)$coef[,2] 

и если вы имеете в виду оценочную остаточную дисперсию, она

summary(m)$sigma

Введите names( summary(m) ) и names(m) для получения другой информации, которую вы можете получить.