在STATA中如何在一个图表中绘制不同的曲线图? [英] How to plot the different graphs by stcurve in one chart in Stata?

查看:37
本文介绍了在STATA中如何在一个图表中绘制不同的曲线图?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Stata中使用stcurve绘制生存概率图。我需要绘制所有数据的曲线图,然后绘制特定变量的曲线图。我可以在两个不同的图表中生成图表,但我需要在一个图表中将所有三条线放在一起。

我尝试了addplot()选项,但得到的错误是stcurve不是twoway图。您知道如何执行此操作吗?

这是我使用的代码,它分别在两个不同的图表中生成图形:

stcurve, survival   graphregion(lcolor(white)  ilcolor(white)    ifcolor(white) )  plotregion( lcolor(black))  title("Survival Function", size(vlarge))  ytitle("Survival probabilities", size(large))  xtitle("Time", size(large))  xlabel(,labsize(medium))  ylabel(,labsize(medium))

stcurve, survival at1( def=0) at2( def=1) graphregion(lcolor(white) ilcolor(white)   ifcolor(white) )  plotregion( lcolor(black)) legend(label(1 "X Firms") label(2 "Y Firms"))  legend(size(large))  lwidth(thin thick)  title("Survival Function", size(vlarge))  ytitle("Survival probabilities", size(large))  xtitle("Time", size(large))  xlabel(,labsize(medium))  ylabel(,labsize(medium))

推荐答案

我不确定我是否正确理解了您想要的内容。如果您在运行stcurve之前添加了必要的stsetstcox代码,这将非常有用。

如果Kaplan-Meier危险图与您的第一个stcurve, survival相同,您可以尝试通过生成变量来进行错误修复,例如

sts gen s2=s运行后stset

然后根据时间变量将其绘制为一条线。即将此内容添加到第二个图表的末尾:

addplot(line s2 your_timevar, sort c(J) title("Survival probabilities"))
仅当第一个图没有比stset中的failvar更多的预测器时,KM危险和Cox危险的等价性才成立。因此,如果您在stset timevar, failure(failvar) id(idvar)之后运行stcox, estimate,则它可以工作,但如果您在stcox调用中有更多变量,这将不会给出正确的曲线图。

编辑: 由于上述快速解决方案不起作用,因此还有另一个棘手的解决办法:将stcurve的结果保存在一个文件中(选项outfile),然后将"新"数据绘制为twoway图。大概是这样的:

stcurve, survival name("surv1") outfile(stcurve1.dta, replace)
stcurve, survival name("surv2") at1( def=0) at2( def=1) outfile(stcure2.dta, replace)

use stcurve1.dta, clear
rename surv1 surv1_A 
rename _t _tA
append using stcurve2.dta
twoway line surv1 _t, sort || line surv1_A _tA, sort
我不知道这是否适用于您的数据:您可能需要以某种方式操作输出文件中的新变量以获得所需的结果,并且您需要向twoway图表添加您想要的选项。当您将图表的数据放在单独的数据文件中时,当然有许多更好、更容易的方法来绘制它,但这是我脑海中涌现的第一个解决方案。

这篇关于在STATA中如何在一个图表中绘制不同的曲线图?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆