2011-01-24 5 views
11

j'ai effectué une régression logistique avec le résultat suivant:coefficients d'extrait de GLM dans R

ssi.logit.single.age["coefficients"] 
# $coefficients 
# (Intercept)   age 
# -3.425062382 0.009916508 

je dois prendre le coefficient de age, et actuellement j'utilise le code suivant:

ssi.logit.single.age["coefficients"][[1]][2] 

Il fonctionne, mais je n'aime pas le code cryptique ici, puis-je utiliser le nom du coefficient (c.-à-(Intercept) ou age)

Répondre

16

Il existe une fonction d'extraction appelée coef pour obtenir les coefficients des modèles:

coef(ssi.logit.single.age)["age"] 
+0

alors que diriez-vous d'extraire l'erreur de stand? J'ai besoin de calculer le CI à 95% – lokheart

+2

voir coef (summary (ssi.logit.single.age)) pour une table incluant les erreurs standards. Vous pouvez utiliser confint.default (ssi.logit.single.age) pour obtenir des intervalles de confiance basés sur +/- 1,96 SE. Ou mieux, MASS :: confint (ssi.logit.single.age) vous donnera des intervalles de confiance de profil, qui sont plus précis (bien qu'un peu plus lent). –

4

Je l'ai trouvé, de here

Regardez la structure de données produite par synthèse()

> names(summary(lm.D9)) 
    [1] "call"   "terms"   "residuals"  "coefficients" 
    [5] "aliased"  "sigma"   "df"   "r.squared" 
    [9] "adj.r.squared" "fstatistic" "cov.unscaled" 

Maintenant, regardez la structure de données pour les coefficients dans le résumé:

> summary(lm.D9)$coefficients 
      Estimate Std. Error t value  Pr(>|t|) 
(Intercept) 5.032 0.2202177 22.850117 9.547128e-15 
groupTrt  -0.371 0.3114349 -1.191260 2.490232e-01 

> class(summary(lm.D9)$coefficients) 
[1] "matrix" 

> summary(lm.D9)$coefficients[,3] 
(Intercept) groupTrt 
    22.850117 -1.191260 
+0

L'affichage de la structure interne d'un objet R peut également être utile via la fonction 'str()', par exemple: 'str (summary (lm.D9))' dans votre exemple – daroczig

+3

Ne commencez pas à explorer des objets comme celui-ci! Utilisez les fonctions de l'extracteur; dans ce cas 'coef()'. Par exemple, regardez le composant '$ residuals'. Vous pouvez obtenir les résidus du modèle en accédant directement à '$ residus', mais qu'est-ce que c'est? Ils ne sont certainement pas ce que vous pourriez immédiatement considérer comme des résidus de modèle. Utilisez 'resid()' sur le modèle et vous pouvez choisir le type de résidu. –

+1

?? '> all.equal (résidus (lm.D9), lm.D9 $ résiduels)' [1] TRUE (Les résidus glm sont les résidus "fonctionnels".) –

Questions connexes