30

からlmオブジェクトを取得し、標準エラーを抽出したい

lm_aaa <- lm(aaa ~ x + y + z)

関数の概要、名前、係数を知っています。

ただし、要約は、標準エラーに手動でアクセスする唯一の方法のようです。

どうすればseを出力できるかわかりますか?

4

5 に答える 5

26

関数からの出力summaryは単なるRリストです。したがって、すべての標準リスト操作を使用できます。例えば:

#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)
于 2012-06-19T12:37:30.930 に答える
12

すべてのパラメータの標準エラーのリストを取得するには、次を使用できます。

summary(lm_aaa)$coefficients[, 2]

他の人が指摘しているようにstr(lm_aaa)、モデルから抽出できるほとんどすべての情報がわかります。

于 2012-06-19T12:40:42.227 に答える
8
#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
于 2012-06-19T10:55:45.757 に答える
5

モデルの標準誤差/偏差を取得したくない場合は、代わりに個々の係数の標準誤差/偏差を取得します。

# 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"] 

モデルの標準誤差/偏差の詳細については、ここを参照してください。係数の標準誤差/偏差の詳細については、ここを参照してください。

于 2016-12-21T09:47:02.960 に答える
5

次の行も簡単な答えを提供できると思います。

lm_aaa<- lm(aaa~x+y+z)
se <- sqrt(diag(vcov(lm_aaa)))
于 2018-05-08T15:25:09.677 に答える