Lmオブジェクトを取得し、標準エラーを抽出したい
lm_aaa<- lm(aaa~x+y+z)
関数の概要、名前、および係数を知っています。ただし、標準エラーに手動でアクセスするには、要約が唯一の方法のようです。 seを出力する方法を知っていますか?
ありがとう!
summary
関数からの出力は単なるR listです。したがって、すべての標準リスト操作を使用できます。例えば:
#some data (taken from Roland's example)
x = c(1,2,3,4)
y = c(2.1,3.9,6.3,7.8)
#fitting a linear model
fit = lm(y~x)
m = summary(fit)
m
オブジェクトまたはリストには多くの属性があります。ブラケットまたは名前付きアプローチを使用してそれらにアクセスできます。
m$sigma
m[[6]]
知っておくと便利な関数は、str
です。この関数は、オブジェクト属性の要約を提供します。
str(m)
すべてのパラメーターの標準エラーのリストを取得するには、次を使用できます。
_summary(lm_aaa)$coefficients[, 2]
_
他の人が指摘したように、str(lm_aaa)
はモデルから抽出できるほとんどすべての情報を教えてくれます。
#some data
x<-c(1,2,3,4)
y<-c(2.1,3.9,6.3,7.8)
#fitting a linear model
fit<-lm(y~x)
#look at the statistics summary
summary(fit)
#get the standard error of the slope
se_slope<-summary(fit)$coef[[4]]
#the index depends on the model and which se you want to extract
#get the residual standard error
rse<-summary(fit)$sigma
modelの標準誤差/偏差を取得したくないが、代わりに個々の係数の標準誤差/偏差を取得したい場合、 使用する
# some data (taken from Roland's example)
x = c(1, 2, 3, 4)
y = c(2.1, 3.9, 6.3, 7.8)
# fitting a linear model
fit = lm(y ~ x)
# get vector of all standard errors of the coefficients
coef(summary(fit))[, "Std. Error"]
モデルの標準エラー/偏差の詳細については、 here を参照してください。係数の標準誤差/偏差の詳細については、 here を参照してください。
次の行からも簡単な答えが得られると思います。
lm_aaa<- lm(aaa~x+y+z)
se <- sqrt(diag(vcov(lm_aaa)))