根据类别

时间:2015-04-22 12:58:55

标签: stata logistic-regression

我有一个二元结果变量(疾病)和一个连续的自变量(年龄)。还有一个集群变量clustvar。 Logistic回归假设对数概率与连续变量成线性关系。为了想象这一点,我可以将年龄分类为(例如,0到<5,5到<15,15到<30,30到<50和50+),然后根据类别编号绘制对数赔率使用:

logistic disease i.agecat, vce(cluster clustvar)
margins agecat, predict(xb)
marginsplot

但是,由于类别的宽度不相等,因此最好将日志赔率与类别的中点进行对比。有没有办法可以手动定义边缘图上x轴绘制的值应该是2.5,10,22.5,40和(稍微任意)60,并且点间距是否合适?

1 个答案:

答案 0 :(得分:0)

如果有人有兴趣,我按如下方式获得了所需的图表:

  1. 重新分类的年龄变量使用代表该类别中点的(整数)标签略有不同:

    gen agecat = .
    
    replace agecat = 3 if age<6
    
    replace agecat = 11 if age>=6 & age<16
    
    replace agecat = 23 if age>=16 & age<30
    
    replace agecat = 40 if age>=30 & age<50
    
    replace agecat = 60 if age>=50 & age<.
    
  2. 出于标注目的,创建了一个标签:

    label define agecat 3 "Less than 5y" 11 "10 to 15y" 23 "15 to <30y" 40 "30 to <50y" 60 "Over 50 years"
    
    label values agecat
    
  3. 如上所述进行逻辑回归:

    logistic disease i.agecat, vce(cluster clustvar)
    
  4. 使用边距图和使用边距图:

    margins agecat, predict(xb)
    
    marginsplot