If you only have left-censored data then you can just calculate the kaplan meier estimate to the inverse of response variable. The estimated percentile should then be transformed back. With this trick the problem of left censoring is made to a problem with right censoring, and therefore we can use a SAS procedure to calculate the Kaplan Meier estimate. Of course, this works only if the response variable can only be positive.
I made this example which find the 75% percentile of a serie of gamma distributed responses which can be left censored. In the last step you can just write any other value than 0.75:
*generate left censored data;
*and generate the inverse of the variable;
data mydata;
do i=1 to 10000;
y=rand('gamma',10);
c=rand('gamma',10);
if y<c then do;
y=c;
d=1;
end;
else d=0;
invy=1/y;
output;
end;
run;
*calculate the kaplan meier estimate;
proc lifetest data=mydata plots=(s) maxtime=600 outsurv=kaplanmeier method=km;
time invy*d(1);
run;
data percentile;
set kaplanmeier(where=(survival>0.75)) end=end;
by invy;
if end;
y=1/invy; put y;
*compare with the theoretical percentile;
p=quantile('gamma',0.75,10);put p=;
run;
run;
... View more