我想使用以下数据集创建像曲线一样的“生存”:
mydata <- read.table(text="ID Onset_weeks Group
Sample1 15.57142857 A
Sample2 16 A
Sample3 14 A
Sample4 NA A
Sample5 16.14285714 A
Sample6 14.28571429 A
Sample7 NA A
Sample8 NA A
Sample9 NA A
Sample10 10.57142857 A
Sample11 14.28571429 B
Sample12 10.28571429 B
Sample13 18.28571429 B
Sample14 12.14285714 B
Sample15 12.14285714 B
Sample16 NA B
Sample17 15.85714286 B
Sample19 19.85714286 B", head=TRUE)
我想在每周(从0到20周)绘制患有该疾病的个体的百分比。我希望在同一个情节中有两条“生存”曲线,每组一组(A,B)。
我已经尝试了以下代码,但是我得到的两条曲线正在下降而不是因为脚本认为“Onset_weeks”指的是死亡。
library(survival)
mydata$SurvObj <- with(mydata, Surv(Onset_weeks))
km.by.group <- survfit(SurvObj ~ Group, data = mydata, conf.type = "log-log")
plot(km.by.group)
答案 0 :(得分:1)
需要构建censor
标志,并且需要将审查案件的时间设置为观察的整个持续时间。似乎我们被要求将其视为一种疾病,其持续时间是长期的或至少延长到监测期结束。
mydata$Onset_weeks[is.na(mydata$Onset_weeks)] <- 20
mydata$censor <- mydata$Onset_weeks != 20
km.by.group <- survfit(Surv(Onset_weeks, censor) ~ Group, data = mydata)
plot(km.by.group, fun='event')
为Therneau称之为“竞争事件”的显示选择一个幸存物体的绘图版本。