1.使用目的
刻画连续性自变量和因变量之间的剂量反应关系,检验剂量反应关系是否线性(结果如图)
2.RCS的SAS实现
文献中多使用SAS宏程序完成RCS。常见的RCS宏程序有%RCS_Reg,%LGTPHCURV9
(程序及PDF介绍文档下载链接:http://bbs.pinggu.org/forum.php?mod=viewthread&tid=7139705,https://www.hsph.harvard.edu/donna-spiegelman/software/lgtphcurv9/)
两种宏程序的比较(如图)
补充:个人更喜欢使用第一个宏程序。当然在最近发表的文章中,两种宏程序的影子都可以见到(这里附上对应上述两种宏程序的两篇文献:Dietary Nonheme, Heme, and Total Iron Intake and the Risk of Diabetes in Adults: Results From the China Health and Nutrition Survey、Predicted lean body mass, fat mass, and all cause and cause specific mortality in men: prospective US cohort study)
3.RCS的SAS程序实例(以%RCS_Reg为例,详情见宏程序介绍文档)
%inc 'C:\sasbishe\RCS_Reg.sas'; /* 引用宏程序(对应放置宏程序的硬盘地址)*/
%RCS_Reg( infile=all116,
Main_spline_var= ogtt_1, knots_msv= 5 25 50 75 95,
typ_reg=log, dep_var= delivery_mode,
adjust_var= pregage pre_bmi bpa_mean parity smoke drink family_income diabetes_history hpt_history height infant_sex ddif_ogtt_week,
Y_ref_line= 1,exp_beta=0,histogram=1,MAX_XAXIS=6.0); /* 从前往后依次为:SAS数据集、需要rcs刻画的自变量,节点位置、对应的模型、因变量、调整变量、是否加入水平参考线(一般加入,y=1)、以OR或ln(OR)为纵坐标、是否加入直方图、横坐标最大值*/
4.RCS的R实现
无固定程序,仅参照前人的程序加以修改。参照丁香园论坛的两个帖子:https://www.dxy.cn/bbs/newweb/pc/post/40377818,https://www.dxy.cn/bbs/newweb/pc/post/43066827
library(rms) /* 需要提前加载的package*/
d<-datadist(shuju) /* 设置语言环境*/
options(datadist='d') /* 设置语言环境*/
fit <- lrm(lga ~ rcs(ogtt_1, 5)+pregage+pre_bmi+bpa_mean+parity+smoke+drink+family_income+diabetes_history+hpt_history+height+infant_sex+ddif_ogtt_week,data=shuju) /* lrm,好像glm也可以,结果一样。cox里替换fit,如fit<- cph(Surv(time,death) ~ rcs(age,4) + sex,data=data) 。rcs中5代表5个节点*/
print(fit)
orr=Predict(fit, ogtt_1,fun=exp, ref.zero=TRUE )
ggplot(Predict(fit, ogtt_1,fun=exp, ref.zero=TRUE))
d$limits$ogtt_1[2] <- 3.9 /* 设置参考值*/
fit <- update(fit)
P2<-ggplot()+geom_line(data=orr, aes(ogtt_1,yhat),linetype="solid",size=1,alpha = 0.7,colour="red")+ geom_ribbon(data=orr, aes(ogtt_1,ymin = lower, ymax = upper),alpha = 0.1,fill="red") /* 绘图,使用的是ggplot2,*/
P2<-P2+theme_classic()+geom_hline(yintercept=1, linetype=2,size=1)+
labs(title = "RCS", x="ogtt_1", y="OR (95%CI)")
P2
anova(fit) /* 检验是否为非线性*/
最后附上使用R进行RCS的文献:Predictive Value of Fasting Glucose, Postload Glucose, and Hemoglobin A1con Risk of Diabetes and Complications in Chinese Adults
5.下一篇整理RCS的结果解释(敬请期待)