如何在R语言中正确编写含年龄分组的ROI烧伤预后逻辑回归模型
解决烧伤预后逻辑回归模型的年龄变量分段纳入问题
问题背景
我正尝试手动编写ROI严重程度评分对应的烧伤预后多变量逻辑回归模型,原模型公式中年龄变量的处理不符合需求:当前用factor(age_under_2)(年龄<2岁取1,否则取0)作为因子变量,但会导致年龄<2岁时模型仍纳入age + I(age^2) + I(age^3)项,无法实现年龄<2岁时按因子处理,年龄≥2岁时纳入年龄的三次多项式项的要求。
解决方案
核心思路是利用指示变量与年龄项的交互,让年龄多项式项仅在年龄≥2岁时生效,具体公式如下:
death ~ PTB + FTB + I(PTB*FTB) + I(FTB^2) + I(PTB*I(FTB^2)) + age_under_2 + I((1 - age_under_2)*age) + I((1 - age_under_2)*I(age^2)) + I((1 - age_under_2)*I(age^3)) + factor(GENIT) + factor(SEX) + admission_time
逻辑说明:
age_under_2设为0/1的数值型变量(无需转因子):年龄<2岁时取1,≥2岁时取0- 当
age_under_2=1(<2岁):(1 - age_under_2)为0,后面三个年龄多项式项全部归零,模型仅保留age_under_2的系数,实现按因子处理的效果 - 当
age_under_2=0(≥2岁):age_under_2项系数为0,模型自动纳入age、age²、age³三项,符合需求
示例验证
针对文献给出的示例患者:PTB=36、FTB=18、年龄=39(age_under_2=0)、未累及会阴(factor(GENIT)取参考水平)、性别=男性(factor(SEX)取参考水平)、入院时间=0,代入上述模型后,结合文献给出的变量系数计算,系数与变量乘积总和应等于-1.0573,可据此验证模型正确性。
内容的提问来源于stack exchange,提问作者cccnrc
相关产品推荐
相关产品推荐

