首先,RCS主要是反应连续变量与结局的关系,目前有很多SAS宏可以帮助做,个人认为最好的还是Desquilbet在2010编写%RCS_Reg宏,另外SAS9.4高级版本也可以绘制。
下面简要讲解下利用%RCS_Reg宏绘制RCS曲线:
1、下载宏程序(见下面链接);
2、将宏程序放在电脑硬盘的一个文件夹内;
3、打开sas,有相应的线性回归、Logistic回归、Cox回归的数据集;
4、输入%include "E:\SASMacro\RCS_Reg.sas" 导入宏程序,具体地址根据自己的喜好来选择;
5、编写宏语句,比如下面的cox回归
%RCS_Reg(infile=total, Main_spline_var=MAP,typ_reg=cox, dep_var=death, surv_time_var=deathtime,
adjust_var=age sex charlson HDL ALB infection group DVC dialysis_age DVC*dialysis_age smoking_history logHB logLDL logTG Hypertension,
avk_msv=0, knots_msv=5 25 50 75 95,x_ref_line=0,y_ref_line=1,no_title=1,no_label_x=1,no_label_y=1,no_legend=1,
exp_beta=0,histogram=1,display_knots=1 /*exp_beta=0显示对数,exp_beta=1显示HR或OR*/
);
说明:1)infile=数据集(total 为临时数据集);
2)Main_spline_var=主要连续变量;typ_reg=回归类型(log,cox或lin),dep_var=结局分类变量, surv_time_var=生存时间;
3)adjust_var=校正变量,若校正变量为连续变量,也可以放在Oth_spline_var1=需校正的连续变量1,Oth_spline_var2=需校正的连续变量2中。
4)avk_msv=0, knots_msv=5 25 50 75 95,设置节点,按照分数来设置,本例为5个节点。
5)exp_beta=0显示对数(如lnHR或lnOR),exp_beta=1显示HR或OR。
6)其他的设置就是显示标题,图例,X轴标题,Y轴标题、参考线的设置了。
6、结果图形见附件gplot4
7、RCS一般5个节点足以发现大多数的非线性关系,当然一般需要绘制RCS图形的同志也需要专门学习RCS相关的知识了,有一个ppt和宏程序作者Stat Med文章的链接,专门介绍了相关知识。
8、如果证实不是线性,一般需要根据临床意义(如血压可采用低血压、正常血压、高血压来分类)来分组,或者采用四分位数、五分位数、十分位数(样本很大)来观察不同区间内关注的连续变量与结局的关系。