【发布时间】:2019-01-18 11:52:22
【问题描述】:
我正在尝试计算 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
甚至可能值得查看 4 个级别的因变量(每个四分位数编号为 0、1、2、3),但我不知道这是否可能。
【问题讨论】:
-
我们正在设置
family = "binomial"即:二进制并提供 3 个变量? -
正如 zx8754 所建议的那样,具有 > 2 个级别的问题现在是多项式的,而不是二项式的。您可以在
nnet包中尝试例如multinom:stats.idre.ucla.edu/r/dae/multinomial-logistic-regression -
@zx8754,是的,你是对的,我需要将家庭作为“二项式”取出,但我不知道用什么替换它才能使第三行代码给我 2 组优势比,一种用于中间 50% 的分数与最低 25% 的分数相比,一种用于前 25% 的分数与最低 25% 的分数。
-
比例赔率逻辑回归。有几个包提供它,包括 rms 包。
-
还应该查看
MASS:polr的“有序逻辑或概率回归”。与使用rms::lrm相比,它的优势在于它不需要 rms 函数所需的附件数据准备。我的偏好是接受额外的努力,作为在 rms“环境”中增加功能的小代价。