我有一篇文章的作业,结果必须在间隔(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)
答案 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)