Ответ 1
Я не уверен, что вы хотите изменить.
Если вам нужна остаточная дисперсия, это: (summary(m)$sigma)**2
.
Если вам нужна дисперсия вашего склона, это: (summary(m)$coefficients[2,2])**2
или vcov(m)[2,2]
.
Простой вопрос! Я запускаю множество линейных регрессий 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, не вычисляя его вручную...
Я не уверен, что вы хотите изменить.
Если вам нужна остаточная дисперсия, это: (summary(m)$sigma)**2
.
Если вам нужна дисперсия вашего склона, это: (summary(m)$coefficients[2,2])**2
или vcov(m)[2,2]
.
vcov(m)
дает ковариационную матрицу коэффициентов - дисперсии на диагонали.
если вы ссылаетесь на стандартные ошибки для оценок коэффициентов, ответ
summary(m)$coef[,2]
и если вы имеете в виду оценочную остаточную дисперсию, она
summary(m)$sigma
Введите names( summary(m) )
и names(m)
для получения другой информации, которую вы можете получить.