我试图复制Kaplan Meier表,即图1here。数字如下:
这是我写的代码:
# Python code to create the above Kaplan Meier curve
from lifelines import KaplanMeierFitter
import pandas as pd
df = pd.DataFrame({
'T':[0,0,0,0,0,0,2.5,2.5,2.5,2.5,2.5,4,4,4,4,4,5,5,5,6,6],
'E':[0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,0,0,0,0],
})
## create a kmf object
kmf = KaplanMeierFitter()
## Fit the data into the model
kmf.fit(df['T'], df['E'],label='Kaplan Meier Estimate')
## Create an estimate
kmf.plot(ci_show=False)
我的输出图不同(参见比例):
当我打印生存函数时,它是不同的:
Kaplan Meier Estimate
timeline
0.0 1.0000
2.5 0.9375
4.0 0.7500
5.0 0.6000
6.0 0.6000
我假定我没有正确地将数据转换成数据帧(可能是?)。我试图搞乱数据帧,将1事件添加到时间帧的开始和结束,但这并不重要。有人能告诉我如何复制我正在尝试的例子吗
@Arne的评论是正确的。有6个主题,所以在
T
和E
向量中应该只有6个元素。回想一下,这些向量的每个元素都是一个单独的主题T
表示观察受试者的时间,而E
表示是否观察到受试者的“死亡”有些相关,您可以使用生命线库中的实用程序函数将生存表转换为T,E向量:
相关问题 更多 >
编程相关推荐