我正在尝试使用R中的生存包进行生存分析。
我的数据集看起来像这样,可以使用以下代码创建。
event <- c(1,0,0,1,0,1)
time <-c(8,50,100,200,300, 1)
id <- c(1,2,3,4,5, 6)
sex<-c(1,0,1,0,1,0)
mydat <- data.frame(id, time, event)
library(survival)
library(survminer)
fit<-survfit(Surv(time,event)~sex, mydat)
ggsurvplot(fit, size = 1, # change line size
#palette = c("#E7B800", "#2E9FDF"), # custom color palette
conf.int = TRUE, # Add confidence interval
pval = TRUE, # Add p-value
risk.table = TRUE, # Add risk table
risk.table.col = "strata", # Risk table color by groups
)
然而,mydat本身并不能作为生存分析的输入。
由于输出看起来像这样
我很感激任何帮助,使其适合使用生存包进行的生存分析。
提前致谢。
答案 0 :(得分:0)
我认为您的数据 作为生存分析的输入(一旦res = df.groupby(df.C).agg({'A': 'sum', 'B': {'sum': 'sum', 'count': 'count'}})
res.columns = ['A_sum', 'B_sum', 'count']
中的错误得到纠正),我认为它们只是没有显示您的期望。
执行sex
时不会返回任何错误,也不会绘制生存或ggsurvplot。这两种方法都反映了您拥有的数据。
survfit()
会为您的模型拟合返回有意义的结果:
summary(fit)
您的数据中有三个事件,一个在时间1,性别== 0,一个在时间8,性别== 1,一个在时间200,性别== 0.这是图表所示。阴影置信区间非常宽,因为您的观察结果很少。