2012-06-19 125 views
20

輸出標準錯誤,我們從得到一個LM對象,並要提取標準錯誤R:從LM對象

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

我知道函數摘要,名稱和係數。 但是,摘要似乎是手動訪問標準錯誤的唯一方法。 你有什麼想法我只能輸出se?

謝謝!

回答

16

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) 
+0

然而,什麼@csgillespie指的是模型的** **殘留標準偏差,而不是個別係數的標準差。函數'm $ sigma'對應於'sigma(fit)',參見[here](https://stat.ethz.ch/R-manual/R-devel/library/stats/html/sigma.html)。我相信這個問題真的是**個人**係數的標準偏差。 –

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 
11

爲了得到標準誤差的一個列表中的所有參數,你可以使用

summary(lm_aaa)$coefficients[, 2] 

正如其他人所指出的那樣,str(lm_aaa)會告訴幾乎所有可以從模型中提取的信息。

0

如果你不想得到模式的標準誤差/偏離,而是在個人係數的標準誤差/偏差,使用

# 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