2017-04-10 8 views
0

J'essaie de calculer les rapports de cotes pour une variable dépendante à trois niveaux.Rapport de cotes avec variable dépendante à trois niveaux

J'ai compris comment faire odds ratios avec un score de dépression binaire (le plus bas 25% des scores de test = 1, tous les autres = 0) en faisant ceci:

ODDSR <-glm(DEPRESSION~AGE+MALE+LITERACY+COLLEGE+MARRIED, data = df, family = "binomial") 

summary(ODDSR) 

exp(cbind(OR = coef(ODDSR), confint(ODDSR))) 

Mais lorsque je tente de faire la variable dépendante en 3 niveaux: - les plus bas 25% des scores de dépression = 0 - moyen 50% des scores de dépression = 1 - top 25% des scores de dépression = 2

GLM signale une erreur et ne fonctionnera pas.

Erreur dans eval (expr, Envir, Enclos): les valeurs y doit être 0 < = y < = 1

Il pourrait même être intéressant de regarder la variable dépendante en 4 niveaux (chaque quartile numéroté 0,1,2,3), mais je ne sais pas si c'est possible.

+1

Nous fixons 'la famille = "binomiale"' i.e. .: binaire et fournissant 3 variables? – zx8754

+2

Comme suggéré par zx8754, avec> 2 niveaux le problème est maintenant multinomial, pas binomial. Vous pouvez essayer _e.g._ 'multinom' dans le paquet' nnet': http://stats.idre.ucla.edu/r/dae/multinomial-logistic-regression/ – neilfws

+0

@ zx8754, Oui, vous avez raison, je besoin de sortir la famille comme "binomiale" mais je ne sais pas quoi remplacer avec pour faire la troisième ligne de code me donner 2 séries de rapports de cotes, un pour le milieu de 50% des scores par rapport aux 25% les plus bas de scores et un pour les meilleurs 25% des scores par rapport aux 25% les plus faibles. – Quixotic

Répondre

0

@neifws - c'était la bonne stratégie.

install package nnet, 
library(nnet) 
ODDSR <-multinom(DEPRESSION~AGE+MALE+LITERACY+COLLEGE+MARRIED, data = df) 
exp(confint(ODDSR)) 
exp(coef(ODDSR)) 

fait fonctionner