我正在使用Stata在存在竞争风险的情况下对累积发生率函数进行建模。每个法术以事件的发生结束("失败"),但是受试者有可能在之后输入新的法术。因此,法术不是独立的,而是嵌套在主体中。
标准的Stata命令stcrreg可以通过建模在主题级别聚集的标准错误来处理此结构。但是,我的数据集量很大(超过300万次观测),计算时间也很长。其他用户建议使用用户编写的程序stcrprep,该程序还具有其他功能。
有谁知道如何使用stcrprep对标准错误进行聚类?
答案 0 :(得分:1)
我从stcrprep
帮助文件中提供的信息中找到了解决方案,并在命令编写者(http://repec.org/usug2013/lambert.uk13.pdf)的演示文稿中进行了解释。
集群标准错误可以很容易地实现如下。
stcrprep
准备生存分析数据。stset
创建正确的格式,将权重指定为pweights。将它们指定为iweights将无法估计稳健和集群稳健的标准错误。stcox
进行竞争风险回归,并指定所需的,vce()
选项。请注意,通过这种数据准备方式,这将产生与stcrreg
完全相同的结果。对于感兴趣的读者,一个在存在竞争心血管疾病和其他死亡原因的情况下评估癌症风险的例子,通过审查观察和患者聚集在一起治疗:
use "http://www.stata-journal.com/software/sj4-2/st0059/prostatecancer", clear
stset time, failure(status=1,2,3) id(id) //specify all possible events
stcrprep, events(status) keep(treatment age therapy) trans(1) //trans creates failcode (event of interest)
gen event = failcode == status
stset tstop [pw=weight_c], failure(event==1) enter(tstart)
stcox treatment age, vce(cluster therapy)