【问题标题】:odds ratio in logistic regression when interaction terms exist存在交互项时逻辑回归中的优势比
【发布时间】:2013-02-09 16:09:47
【问题描述】:

我将SAS 命令与R 的命令进行比较。考虑一下我想评估一次暴露(如CAT,其中1 equals high0 equals low)和one cofounding variable(如cholesterolleveCHL)对疾病变量(如CHD)的影响)。在SAS 中,要获得优势比的数值,例如,当模型包含交互项(如 (CC = CAT*CHL) 时,请考虑特定值 CHL 等于 220 和 HPT 等于 1,命令为:

PROC GENMOD data=l2 DESCENDING;
MODEL CHD=CAT CHL CC/LINK=LOGIT DIST=BINOMIAL;
ESTIMATE CAT 1 CC 220 /EXP;
RUN;

我只是想在 R 中找到这样的命令。在 R 中是否有任何代码?

【问题讨论】:

  • 您能否提供一个带有 SAS 输出的示例数据?否则,我唯一可以为您提供的是,如果您有一个 data.frame = df 和列 CC, CAT and CHL,只需执行 mfit <- glm(data = df, CC ~ CAT * CHL, family="binomial", link="logit") 然后 summary(mfit)
  • This link 可能会有所帮助。
  • 我相信 OP 正在询问具有 4 列的数据情况,并且需要 glm(CHD ~ CAT + CHOL + CC, data=df, "binomial") 来遵循您的建议。然而,最好不要单独计算交互项,而是使用公式机制来表示与“*”运算符的交互:glm(CHD ~ CAT * CHOL , data=df, "binomial") 这将为您提供主效应和交互系数。它还可以与predict 方法一起更好地工作,在这种方法中,您不会因为可能输入与主要效果不匹配的交互项而被绊倒。

标签: r


【解决方案1】:

复制我之前的评论作为答案:我相信 OP 正在询问具有 4 列的数据情况并且需要

mdl <- glm(CHD ~ CAT + CHOL + CC, data=df, "binomial") 

听从您的建议。然而更好的是不单独计算交互项,而是使用公式机制来表示与“*”运算符的交互:

mdl <- glm(CHD ~ CAT * CHOL , data=df, "binomial")

这将为您提供主效应和交互系数。它还可以更好地使用 predict 方法,在这种方法中,您不会因为可能输入与主效应不匹配的交互项而被绊倒。我不确定 /EXP 选项在 SAS 中产生了什么,但我猜它可能会返回优势比。这给出了预测的概率:

predict(mdl, data.frame(CHL=220, HPT=1), type= "response")

我不认为每个协变量的单个值可以产生优势比,除非您隐含地假设协变量均值的基线。您可以通过以下方式获得有用的信息:

exp( diff( predict(mdl, data.frame(CHL=c(220, mean(df$CHL) ) , HPT= c(1,0) )  ) ) )

这是为了(尽管在没有数据的情况下未经测试,可能需要进一步的算术)比较 CHL=220 的人和没有高血压的人的优势比,无论平均值同伙的胆固醇可能是。

UCLA Biostatisics 页面非常适合学习这一点,您也许可以选择一些数据示例来展示at this page

还有一些资源可供希望使用 SAS 先前知识的人使用:

http://r4stats.com/2012/06/13/why-r-is-hard-to-learn/

http://www.revolutionanalytics.com/news-events/free-webinars/2011/intro-to-r-for-sas-spss/

Free PDF that was later expanded into full book:

【讨论】:

  • @Arun 和 DWin:感谢您的关注。这真的很有帮助。
猜你喜欢
  • 2014-08-12
  • 2016-10-05
  • 1970-01-01
  • 2017-05-14
  • 1970-01-01
  • 1970-01-01
  • 2018-03-01
  • 1970-01-01
  • 2020-01-08
相关资源
最近更新 更多