2012-06-19 5 views
20

Nous avons obtenu un objet lm de et que vous souhaitez extraire l'erreur typeR: sortie d'erreur standard de l'objet lm

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

Je sais que les sommaires fonction, les noms et les coefficients. Toutefois, le résumé semble être le seul moyen d'accéder manuellement à l'erreur standard. Avez-vous une idée de comment je peux juste sortir se?

merci!

Répondre

16

La sortie de la fonction summary est juste une liste R . Vous pouvez donc utiliser toutes les opérations de liste standard. Par exemple:

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

L'objet m ou liste a un certain nombre d'attributs. Vous pouvez y accéder en utilisant le support ou l'approche nommée:

m$sigma 
m[[6]] 

Une fonction pratique pour connaître est, str. Cette fonction fournit un résumé des objets attributs, à savoir

str(m) 
+0

Cependant, @sgillespie se réfère à l'écart-type ** résiduel ** du modèle, et non à l'écart-type des coefficients individuels. La fonction 'm $ sigma' correspond à' sigma (fit) ', voir [ici] (https://stat.ethz.ch/R-manual/R-devel/library/stats/html/sigma.html). Je crois que la question portait vraiment sur l'écart-type des coefficients ** individuels **. –

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

Pour obtenir une liste des erreurs standard pour tous les paramètres, vous pouvez utiliser

summary(lm_aaa)$coefficients[, 2] 

Comme d'autres l'ont souligné, str(lm_aaa) racontera vous avez à peu près toutes les informations qui peuvent être extraites de votre modèle.

0

Si vous ne voulez pas obtenir l'erreur type/écart du modèle , mais l'erreur-type/écart des coefficients individuels , utilisez

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

Pour plus d'informations sur la erreur standard/déviation du modèle, voir here. Pour plus d'informations sur l'erreur/écart-type des coefficients, voir here.

Questions connexes