https://github.com/cran/emplik
Raw File
Tip revision: 6134b422a865c19f1e8df22153e71d033097b60f authored by Mai Zhou on 20 May 2020, 19:30:03 UTC
version 1.1-1
Tip revision: 6134b42
omega.lambda.R
omega.lambda <- function(lambda, delta, gt){
  n <- length(delta)   ###  delta is sorted according to kmc.time
  delta[n] <- 1        ###  Assume kmc.time already been kmc.cleaned
  lambda <-as.vector(lambda)   ### added 4/2020
  u.omega <- rep(0, n)   ##### all w = 0 to begin
  S <- rep(1, n)
  
  ###  S.cen <- 0
  ###  u.omega[1] <- 1/(n - lambda*gt[1])   
  
  ###   for (k in 2:n){
  ###     if (delta[k]==0){S[k] <- S[k-1] - u.omega[k-1]
  ###                      S.cen <- S.cen + 1/S[k]}
  ###     else{u.omega[k] <- 1/(n - lambda*gt[k] - S.cen)
  ###          S[k] <- S[k-1] - u.omega[k-1] }
  ###   }
  
    temp <- .C('wlam', DDD=as.integer(delta), gti=as.numeric(gt), SSS=as.numeric(S), lam=as.numeric(lambda), LLL=as.integer(n))
  
    u.omega <- temp$gti
    Sur <- temp$SSS
  return(list(S=Sur,omega=u.omega, mea= sum(gt*u.omega)))
}




######################################
#### cumsumsurv <- function(x){
#### 	if(any(is.na(x))) stop('NaNs');    ## if (sum(is.na(x))>0) stop('NaNs');  3/2015 MZ
#### 	s=x;
#### 	.C('cumsumsurv',x=as.numeric(x),s=as.numeric(s),LLL=length(x))$s
#### 	}
###################################


back to top