2017-04-10 79 views
0

我想要計算一個3水平因變量的比值比。與三個水平因變量的比值比

我已經找到了如何做一個二進制抑鬱評分比值比(測試得分最低的25%= 1,所有其它= 0),通過這樣做:

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

summary(ODDSR) 

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

但是,當我試圖讓因變量爲3個水平: - 最低25%抑鬱評分= 0 - 中間50%抑鬱評分= 1 - 頂部25%的抑鬱評分= 2

GLM報告錯誤並且將不會運行。

錯誤的eval(expr中,ENVIR,enclos):y值必須是0 < = Y < = 1

它甚至可能是值得考慮的在4個級別的因變量(每個四分位數編號爲0,1,2,3),但我不知道這是否可能。

+1

我們正在制定'家庭= 「二項式」'即:二進制和供應3個變量? – zx8754

+2

正如zx8754所建議的,具有> 2個級別,問題現在是多項式的,而不是二項式的。您可以在'nnet'包中嘗試_e.g._ multinom:http://stats.idre.ucla.edu/r/dae/multinomial-logistic-regression/ – neilfws

+0

@ zx8754,是的,您是對的我需要把家庭當作「二項式」,但我不知道用什麼來代替它,以使第三行代碼給我2組勝算比,其中一個爲中間50%的分數,而最低的爲25%的分數和前25%的分數相比,最低的25%。 – Quixotic

回答

0

@neifws - 這是正確的策略。

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

使工作