我有一个二元结果变量(疾病)和一个连续的自变量(年龄)。还有一个集群变量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,并且点间距是否合适?
答案 0 :(得分:0)
如果有人有兴趣,我按如下方式获得了所需的图表:
重新分类的年龄变量使用代表该类别中点的(整数)标签略有不同:
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<.
出于标注目的,创建了一个标签:
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
如上所述进行逻辑回归:
logistic disease i.agecat, vce(cluster clustvar)
使用边距图和使用边距图:
margins agecat, predict(xb)
marginsplot