上图是 单纯放疗组的乳腺癌研究。左图:用R包Icens获得的累积分布函数的NPMLE。右图:生存函数的NPMLE,附加了用R包icensBKL获得的分段线性生存曲线的假设。
区间删失数据下,生存函数S(t)的非参数最大似然估计(NPMLE),也称为Turnbull生存函数S(t)的估计量。
与Kaplan-Meier估计量相反,区间删失数据生存函数S(t)的NPMLE一般没有显示解,必须通过迭代算法获得。一个例外是case I 的区间删失数据(当前状态数据)的分析解是可用的(Robertson等人,1988),但是没有被任何SAS或R程序使用。
代码的一部分: 安装相应的包
install.packages("BiocManager")
BiocManager::install("Icens")
install.packages("devtools")
library(devtools)
install_github("cran/icensBKL")
library(icensBKL)
代码第二部分:绘制生存函数图
#数据准备
data("breastCancer", package="icensBKL")
breastR <- subset(breastCancer, treat=="radio only",
select <- c("low", "upp"))
breastR[is.na(breastR[,"upp"]), "upp"] <- 99
breastR[is.na(breastR[,"low"]), "low"] <- 0
#绘制区间删失数据的分布函数
NPMLE <- EMICM(breastR)
print(NPMLE)
plot(NPMLE, ylab=expression(hat(F)(t)), main="")
#绘制区间删失数据的生存函数
NPMLE2 <- icsurv2cdf(NPMLE)
print(NPMLE2[1:5,])
plot(NPMLE2$time, 1-NPMLE2$cdf, type="l",
xlab="Time", ylab=expression(hat(S)(t)), xlim=c(0, 53))
lines(c(48, 53), c(0, 0))
breastR是一个两列的data.frame,表示每个个体区间删失的左右端点。
使用EMICM(EM-iterative convex minorant algorithm)计算非参数极大似然估计(NPMLE)
关于EMICM函数的介绍如下:
网址:Icens: NPMLE for Censored and Truncated Data (bioconductor.org)
使用icensBKL包中的icsurv2cdf函数,将对象NPMLE(icsurv类)转换成数据框NPMLE2.
参考:
书:survival analysis with interval-censored data: a practical approach with exomples in R, SAS, and BUGS.