找出经验似然比

时间:2019-04-21 06:00:11

标签: r survival-analysis

我有一篇文章的作业,结果必须在间隔(0.10024,1.0917)之间。

作为一个具体示例,我们获取了实体瘤患者(n = 10)的缓解时间数据,该数据是Statistical Methods for Survival Data Analysis, Elisa T. Lee, 1992, Example 4.2的稍作修改(含糊)版本:

  

3、6.5、6.51、10、12、15、8.4 +,4 +,5.7 +和10 +。

假设我们有兴趣获得95%的置信区间 在t = 9.8时的累积危害,∆o(9.8)。因此θo= ∆o(9.8)。在这 函数g是一个指标函数的情况:g(t)= I [t9.8]。

使用经验似然比的95%置信区间, -2logALR,对于∆o(9.8)为(0.10024,1.0917)
请帮助我获得以上结果。谢谢。

remissiontime<-(3,4,5.7,6.5,6.51,8.4,10,10,12,15) 
status <- c(1,0,0,1,1,0,1,0,1,1)

我的代码是(实际上我对此代码不确定)

library(survival)
library(emplik)
x1 = c(3,4,5.7,6.5,6.51,8.4,10,10,12,15) 
d1 = c(1,0,0,1,1,0,1,0,1,1)

KM0 <- survfit(Surv(x1,d1) ~ 1,  type="kaplan-meier", conf.type="log")
summary(KM0)

myfun <-function(t){as.numeric(t <=9.8)}

emplikH1.test(x=x1,d=d1,theta=-log(0.643),fun=myfun)


myULfun <-function(theta,x,d){

  emplikH1.test(x=x1,d=d1,theta=theta,fun=function(t){as.numeric(t <= 9.8)})}

findUL(fun=myULfun,MLE =-log(0.643),x=x1,d=d1)

1 个答案:

答案 0 :(得分:0)

您提供的代码的最后一行

findUL(fun=myULfun,MLE =-log(0.643),x=x1,d=d1)

引发错误:

  

emplikH1.test(x = x1,d = d1,theta = theta,fun =   function(t){:给定theta距离theta0太远

MLE的{​​{1}}参数从findUL更改为-log(0.643)可解决此问题。请参见以下内容:

1

输出,与所需的输出一致:

findUL(fun = myULfun, MLE = 1, x = x1, d = d1)