绘制多个双向函数时不完整的线

问题描述 投票:2回答:1

我正在使用Stata来绘制多个函数。在这种情况下,我正在绘制不同的Gompertz生存函数;一个年龄30和一个年龄70

首先,考虑一下30岁:

twoway function Age_30=exp(-exp(-3.520509+0.0762475*-34.13089)* ///
0.0378969^(-1)*(exp(0.0378969*x)-1)), range (0 50) xtitl(Years) title(Gompertz)

正如你所知,scale参数有一个常数(-3.520509)和age(0.0762475),而形状有一个常数(0.0378969)。

年龄以均值为中心,这就是协变量为-3464 - 34 = 30)的原因。

其次,考虑一下70岁:

twoway function Age_70=exp(-exp(-3.520509+0.0762475*5.86911)* ///
0.0378969^(-1)*(exp(0.0378969*x)-1)), range(0 50) xtitle(Years) title(Gompertz)

两个函数都可以自己绘制。

但是,当我同时绘制两个图形时,一条曲线不会完成到最后:

twoway function Age_30=exp(-exp(-3.520509+0.0762475*-34.13089)* ///
0.0378969^(-1)*(exp(0.0378969*x)-1)) || function ///
Age_70=exp(-exp(-3.520509+0.0762475*5.86911)*0.0378969^(-1)* /// 
(exp(0.0378969*x)-1)), range(0 50) xtitle(Years) title(Gompertz)

你能帮助我吗?

graph stata survival-analysis
1个回答
3
投票

这是一个非常常见的问题,因为Stata只为一个图形而不是另一个图形设置range()。必须在所有图中明确指定相同的range()

twoway function Age_30 = exp(-exp(-3.520509+0.0762475 * -34.13089) * ///
                         0.0378969^(-1) * (exp(0.0378969 * x)-1)),  ///
                         range(0 50) || ///
       function Age_70 = exp(-exp(-3.520509+0.0762475*5.86911) * ///
                         0.0378969^(-1) * (exp(0.0378969 * x)-1)), ///
                         range(0 50) ///
                         xtitle(Years) title(Gompertz)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.