2012-06-19 26 views
20

Tenemos un objeto de película y quieren extraer el error estándarR: salida de error estándar del objeto lm

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

Sé el resumen de función, nombres y coeficientes. Sin embargo, el resumen parece ser la única forma de acceder manualmente al error estándar. ¿Tiene alguna idea de cómo puedo producir se?

gracias!

Respuesta

16

La salida de la función de summary es sólo un R lista. Entonces puede usar todas las operaciones de lista estándar. Por ejemplo:

#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) 

El objeto m o lista tiene una serie de atributos. Puede acceder a ellos utilizando el soporte o enfoque llamado:

m$sigma 
m[[6]] 

Una función muy útil que debe saber es, str. Esta función proporciona un resumen de los objetos atributos, es decir,

str(m) 
+0

Sin embargo, a lo que @csgillespie se refiere es la desviación estándar ** residual ** del modelo, no la desviación estándar de los coeficientes individuales. La función 'm $ sigma' corresponde a' sigma (fit) ', ver [aquí] (https://stat.ethz.ch/R-manual/R-devel/library/stats/html/sigma.html). Creo que la pregunta era realmente acerca de la desviación estándar de los coeficientes ** individuales **. –

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

Para obtener una lista de los errores estándar para todos los parámetros, puede utilizar

summary(lm_aaa)$coefficients[, 2] 

Como otros han señalado, str(lm_aaa) le dirá prácticamente toda la información que se puede extraer de su modelo.

0

Si no desea conseguir el estándar de error/desviación del modelo , sino que el error/desviación estándar de los coeficientes individuales , utiliza

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

Para obtener más información sobre la error estándar/desviación del modelo, vea here. Para obtener más información sobre el error/desviación estándar de los coeficientes, consulte here.

Cuestiones relacionadas