既往我们已经使用泊松回归对数据进行标准化死亡率 (SMR)分析,但是分析的时候没有考虑混杂因素如性别、年龄,在一些数据分析的时候需要将这些混杂因素考虑在里面,计算有修正的标准化死亡率 (SMR)。今天我们通过使用R语言survexp.fr包计算带有性别和年龄混杂因素的标准化死亡率 (SMR)。今天使用一个女性肠癌的数据(公众号回复:SMR2可以获得该数据)。
首先导入我们的R包和数据
library(survexp.fr)
be<-read.csv("E:/r/test/smr2.csv",sep=',',header=TRUE)
names(be)
导入数据后,我们来看看数据的构成,sex表示性别,bi_date为出生日期,dg_date为诊断日期,ex_date为退出日期,其实就是截止日期,status为是否死亡,我们的结局变量,dg_age为诊断时的年龄,这个指标其实是多余的,可以通过诊断日期减去出生日期得出来。
好的,得到数据后我们看看survexp.fr计算SMR的格式
计算很简单,我们只要按照上面格式给出数据就可以了
我们把每个指标计算出来
be$futime<-be$ex_date-be$dg_date###计算futime
这里提示错误,因为在数据里这两个不是日期格式,不能进行相减,我们要转换一下格式
bc$ex_date<-as.Date(bc$ex_date)
bc$dg_date<-as.Date(bc$dg_date)
bc$bi_date<-as.Date(bc$bi_date)
be$futime<-be$ex_date-be$dg_date###计算futime
接下来计算其他的变量
be$status<-ifelse(be$status==0,0,1)
be$age<-be$dg_date-be$bi_date###计算年龄
be$entry_date<-be$dg_date###设置诊断时间
设置好数据后就可以计算了,这里注意一下年龄和随访时间都是按天来算的
attach(be)
SMR(futime, status, age, sex, entry_date)
结果就轻松算出来了,survexp.fr包提供两种结果,一种是经典算法,一种为泊松回归的算法。