我想在一段时间内计算Kaplan-Meier曲线下的面积。我知道我可以计算从0到t的曲线下面积,也就是用library(survival)
km <- survfit(Surv(futime, fustat) ~ 1, data = ovarian)
print(km, rmean = 600)
函数计算的平均生存时间:
{{1}}
但是,我喜欢的是Kaplan-Meier曲线下一段时间间隔的区域,例如:从t1到t2。 有没有办法在Kaplan Meier曲线下截断区域的计算? 任何建议都会受到欢迎!
答案 0 :(得分:1)
生存曲线“周围”的方差非常类似于二项式过程中比例的方差。在您的情况下,您显然可以计算直到t1的数据的方差。因此,在t1处截断数据,然后计算t2的方差。
像@Oka一样,我想知道为什么要使用AUC,但是后来我意识到AUC只是完整KM曲线的“预期寿命”,单位是“年”或其他时间单位。
str(ovarian)
'data.frame': 26 obs. of 6 variables:
$ futime : num 59 115 156 421 431 448 464 475 477 563 ...
$ fustat : num 1 1 1 0 1 0 1 1 0 1 ...
$ age : num 72.3 74.5 66.5 53.4 50.3 ...
$ resid.ds: num 2 2 2 2 2 1 2 2 2 1 ...
$ rx : num 1 1 1 2 1 1 2 2 1 2 ...
$ ecog.ps : num 1 1 2 1 1 2 2 2 1 2 ...
t1 = 400; t2 = 700
km <- survfit(Surv(futime, fustat) ~ 1, data = ovarian)
print(km, rmean = 400)
#---------------
Call: survfit(formula = Surv(futime, fustat) ~ 1, data = ovarian)
n events *rmean *se(rmean) median 0.95LCL 0.95UCL
26.0 12.0 355.6 18.5 638.0 464.0 NA
* restricted mean with upper limit = 400
km2 <- survfit(Surv(futime, fustat) ~ 1,
data = ovarian[ !(ovarian$futime <=400), ])
print(km2, rmean = 700)
#-----------------
Call: survfit(formula = Surv(futime, fustat) ~ 1, data = ovarian)
n events *rmean *se(rmean) median 0.95LCL 0.95UCL
26.0 12.0 532.2 41.1 638.0 464.0 NA
* restricted mean with upper limit = 700
答案 1 :(得分:0)
所以您知道如何获得AUC(0-t1)
和AUC(0-t2)
。正如@missuse在其评论中指出的,AUC(t1-t2) = AUC(0-t2) - AUC(0-t1)
。
我不确定是否可以为此获得方差,因为从技术上讲,您有一条线和该线下的一个区域(AUC)。
( 1 )对Kaplan-Myer绘制95%CI
( 2 )计算最高CI的AUC(t1-t2)
( 3 )为较低的CI计算AUC(t1-t2)
( 4 )用与表示正常95%置信区间相同的方式将结果表示为范围。
那行得通吗?还有:为什么要使用KM曲线下的面积?因为,正如@ 42-所指出的那样,您将以某些时间单位达到“预期寿命”,并且您不需要KM就能达到目标(?)
答案 2 :(得分:0)
实际上,由于
"dependencies": {
"@angular/common": "^7.2.2",
"@angular/core": "^7.2.2",
"@angular/forms": "^7.2.2",
"@angular/http": "^7.2.2",
"@angular/platform-browser": "^7.2.2",
"@angular/platform-browser-dynamic": "^7.2.2",
"@angular/router": "^7.2.2",
"@ionic-native/core": "^5.0.0",
"@ionic-native/splash-screen": "^5.0.0",
"@ionic-native/status-bar": "^5.0.0",
"@ionic/angular": "^4.1.0",
"cordova-android": "7.1.4",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-ionic-keyboard": "^2.1.3",
"cordova-plugin-ionic-webview": "^3.1.2",
"cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-statusbar": "^2.4.2",
"cordova-plugin-whitelist": "^1.3.3",
"core-js": "^2.5.4",
"rxjs": "~6.3.3",
"zone.js": "~0.8.29"
}
包中的surv2sample
,我最终想出了如何计算t1和t2之间的AUC的方差。通过重新采样来实现。
surv2sampleComp