一下程序是remon oller给出的一段simulation -interval censoring s-plus的程序。
我实在是不理解right和left是什么意思。我怀疑可能有打印错误?或者s-plus的方程和R不同?
请不吝指教。
function(n,local,scale,rho,p){
#simulate true time t
if(rho==0) t <- rweibull(n,1/scale,exp(local))
else t <- exp(local)*((((1-runif(n,0,1))^-rho)-1)/rho)^scale
t[t>=10] <- 10
t[t<10] <- ceiling(t[t<10])
#simulate 10 bernoulli visit: 0 missing visit 1 not missing
delta <- matrix(c(rbinom(9*n,1,p),rep(1,n)),n,10)
insp <- col(delta)>=t
#calculate lower(left) and upper(right) bound for interval censoring
right<- row(t(delta))[t(pmin(delta,insp)*t(cumsum(t(pmin(delta,insp))))
==c(1,1+cumsum(rowSums(pmin(delta,insp)))[1:(n-1)]))]
delta <- cbind(rep(1,n),delta[,1:9])
insp <- col(delta)<=t
left <- (row(t(delta))[t(pmin(delta,insp)*t(cumsum(t(pmin(delta,insp))))
==cumsum(rowSums(pmin(delta,insp))))])-1
cbind(left,right)
}