餡子付゛録゛

ソフトウェア開発ツールの便利な使い方を紹介。

Rでlmコマンドの結果からStd. Errorを取得する

たまに回帰分析の係数の区間推定を求めたいときがあります。
lmコマンドの推定結果から標準誤差(Std. Error)を取得するときは、以下のようにすると簡単です。

r <- lm(expression) # expressionは任意の推定式です
coef(summary(r))[, 2]

例えば3番目の係数の95%信頼区間を求めたいときは、以下のようにしてください。

a <- 0.05/2 # 両側検定
df <- summary(r)$df[2] # 自由度
b <- coef(r)[3] # 3番目の係数
se <- coef(summary(r))[, 2][3] # 3番目の標準誤差
sprintf("%.3f(95%%信頼区間%.3f〜%.3f)", b, b-se*qt(a, df), b+se*qt(a, df))

[3]を無くせば、全係数の区間推定量が出ます。