# Statistical Survival analyses with left truncated method

When I search about left truncated method on web I could not find any information about it. All research are related to right truncation or censoring method.

So does anyone have any good references for this. It will be my PHD topic. So I need to find any example for this. Moreover I need to show this examples solving using "R". However I am unable to find it also.

I Googled "left censoring survival analysis" and got 570,000 hits. A better route might be Google Scholar with the same search terms. That has 120,000 hits.

I'd suggest starting with a good book (or more than one) on survival analysis, maybe one general one and one specific to R.

Assuming that you have a good basic understanding of survival analysis (since this is your PhD topic) I'd suggest Modeling Survival Data: Extending the Cox Model by Therneau and Grambsch. It includes some R programs.

Just for your reference, there isn't much difference between left and right truncation in principle. If we define the time to some event as a random variable $$T$$ then the left-truncated version of this random variable is simply

$$T=t\,|\,T>u$$

where $$u$$ is some truncation point. If we were to define some model and try to fit data to it using, for example, maximum likelihood then the contribution to the likelihood function for each data point of the left-truncated random variable would be

$$\frac{f(t_{i})}{1-F(t_{i})}$$

as opposed to just $$f(t_{i})$$ for the case of no truncation. Here $$i$$ just refers to each data point you have and $$f$$, $$F$$ are the probability density function and cumulative distribution function of $$T$$, respectively.

In R, we could implement something simple like (as an example):

library(survival)

#Define your likelihood function for a left-truncated log-normal distribution:
lik=function(pars,u,d) {
return(-sum(log(pmin(10^22,pmax(10^-22,dlnorm(d,pars[1],pars[2]))))-log(pmin(10^22,pmax(10^-22,1-plnorm(u,pars[1],pars[2]))))))
}

#Some data:
u=5
d=rlnorm(100,3,0.9)
d=d[d>u]

#Estimate the parameters:
f=stats::optim(c(5,1),
fn=lik,
d=d,
u=u,
lower=c(-10,0),
upper=c(Inf,Inf),
method="L-BFGS-B",
control=list(maxit=10^8))