web-dev-qa-db-ja.com

標準誤差から手動で計算せずにRでlmの分散を印刷するにはどうすればよいですか?

本当に簡単な質問です! 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 

だから私は標準エラー出力を取得し、手動で計算せずに分散出力を取得したいと思っていました...

16
Sarah

分散をどのようにしたいのかわかりません。

残差の差異が必要な場合は、_(summary(m)$sigma)**2_です。

slopeの分散が必要な場合は、_(summary(m)$coefficients[2,2])**2_、またはvcov(m)[2,2]です。

vcov(m)

係数の共分散行列、対角線上の分散を与えます。

10
user20650

係数推定の標準誤差を参照している場合、答えは

_summary(m)$coef[,2] 
_

推定残差分散を参照している場合は、

_summary(m)$sigma
_

アクセスできる他の情報については、names( summary(m) )およびnames(m)と入力します。

9
Macro