# The QUANTLIFE Procedure (Experimental)

### Example 76.2 Drug Abuse Study

This example reproduces analysis done by Portnoy (2003), which demonstrates how to use quantile regression to analyze survival times. The example uses drug abuse data provided by Hosmer and Lemeshow (1999). The goal of this study is to compare treatment effects on reducing drug abuse.

The data set contains the following variables:

• `Time`, time to return to drug use in days

• `Status`, event indicator with value 1 for return to drug use and value 0 for censored time

• `Age`, age in years at enrollment

• `Treatment`, with value 1 for six-month treatment and value 0 for three-month treatment

• `Beck`, Beck Depression Inventory score at admission to the program

• `IV3`, indicator of the recent IV drug use

• `NDT`, number of prior drug treatments.

• `RACE`, race indicator with value 1 for white and value 0 for nonwhite

• `SITE`, treatment sites (A and B)

• `LOT`, length (days) of treatment.

The following statements create the data set:

```data uis;
input  ID Age Becktota Hercoc Ivhx Ndrugtx Race Treat Site Lot Time
Censor;
Iv3 = (Ivhx = 3);
Nd1 = 1/((Ndrugtx+1)/10);
Nd2 = (1/((Ndrugtx+1)/10))*log((Ndrugtx+1)/10);
if (Treat =1 ) then Frac = Lot/180;
else  Frac = Lot/90;
datalines;
1  39   9.0000    4     3      1     0    1     0  123  188    1
2  33  34.0000    4     2      8     0    1     0   25   26    1
3  33  10.0000    2     3      3     0    1     0    7  207    1
4  32  20.0000    4     3      1     0    0     0   66  144    1

... more lines ...

626  28   10.0      4     2      3     0    1     1   21   35    1
627  35   17.0      1     3      2     0    0     1  184  379    1
628  46   31.5      1     3     15     1    1     1    9  377    1
;
```

The following statements replicate the analysis of Portnoy (2003):

```ods graphics on;
proc quantlife data=uis log seed=999 plots=(quantplot survival);
class Race Site Treat;
model Time*Censor(0)=Nd1  Nd2  Iv3 Becktota
Treat  Frac  Race  Age|Site
/ quantile=0.05 to 0.85 by 0.05 ;
baseline out=Predsurvf survival=survf quantile=Time;

run;

```

Output 76.2.1 displays the model information. Out of 628 subjects, 53 contain missing values and are not included in the analysis. The censoring rate is 20.87%.

Output 76.2.1: Model Information

The QUANTLIFE Procedure

Model Information
Data Set WORK.UIS
Dependent Variable Log(Time)
Censoring Variable Censor
Censoring Value(s) 0
Number of Observations 575
Method Kaplan-Meier
Replications 200
Seed for Random Number Generator 999

Class Level Information
Name Levels Values
Race 2 0 1
Site 2 0 1
Treat 2 0 1

Summary of the Number of Event and Censored
Values
Total Event Censored Percent
Censored
575 464 111 19.30

Output 76.2.2, Output 76.2.3, and Output 76.2.4 display regression quantile process plots for each covariate.

Output 76.2.2: Quantile Processes with 95 Confidence Bands

Output 76.2.3: Quantile Processes with 95 Confidence Bands

Output 76.2.4: Quantile Processes with 95 Confidence Bands

You can see the varying effects for `Nd` and `Frac`, while the treatment effect is fairly constant. See Portnoy (2003) for more details about the covariate effects that can be discovered with quantile regression.

In survival analysis, a plot of the estimated survival function is often of interest. There is a one-to-one relationship between the quantile function and the survival function. When you specify the PLOTS= SURVIVAL option, the QUANTLIFE procedure estimates the survival function by fitting a quantile regression model for a grid of equally spaced quantile levels. You can specify the grid points with the INITTAU=option and the step between adjacent grid points with the GRIDSIZE=option. See the section Kaplan-Meier-Type Estimator for Censored Quantile Regression for more information.

Figure 76.4 shows the estimated survival function at the reference set of covariate values that consist of reference levels for the CLASS variables and average values for the continuous variables. You can output the predicted survival function by specifying the SURVIVAL= option in the BASELINE statement.

Output 76.2.5: Survival Function