Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
The PHREG Procedure

Example 49.4: Model Using Time-Dependent Explanatory Variables

Time-dependent variables can be used to model the effects of subjects transferring from one treatment group to another. One example of the need for such strategies is the Stanford heart transplant program. Patients are accepted if physicians judge them suitable for heart transplant. Then, when a donor becomes available, physicians choose transplant recipients according to various medical criteria. A patient's status can be changed during the study from waiting for a transplant to transplant recipient. Transplant status can be defined by the time-dependent covariate function z=z(t) as

z(t)=\{ 0 & {if the patient has not received the transplant at time t} \ 1 & {if the patient has received the transplant at time t}
 .
The Stanford heart transplant data that appear in Crowley and Hu (1977) consist of 103 patients, 69 of whom received transplants. The data are saved in a SAS data set called Heart. For each patient in the program, there is a birth date (Bir_Date), a date of acceptance (Acc_Date), and a date last seen (Ter_Date). The survival time (Time) in days is defined as Time = Ter_Date - Acc_Date. The survival time is said to be uncensored (Status=1) or censored (Status=0), depending on whether Ter_Date is the date of death or the closing date of the study. The age in years at acceptance into the program is Acc_Age = (Acc_Date - Bir_Date) / 365. Previous open-heart surgery for each patient is indicated by the variable PrevSurg. For each transplant recipient, there is a date of transplant (Xpl_Date) and three measures (NMismatch, Antigen, Mismatch) of tissue-type mismatching. The waiting period (WaitTime) in days for a transplant recipient is calculated as WaitTime = Xpl_Date - Acc_Date, and the age in years at transplant is Xpl_Age = ( Xpl_Date - Bir_Date) / 365. For those who do not receive heart transplants, the WaitTime, Xpl_Age, NMismatch, Antigen, and Mismatch variables contain missing values.

The input data contains dates that have a two-digit year representation. The SAS option YEARCUTOFF=1900 is specified to ensure that a two-digit year xx is year 19xx.

The code is as follows:

   options yearcutoff=1900;

   data Heart;
      input ID
            @5  Bir_Date mmddyy8.
            @14 Acc_Date mmddyy8.
            @23 Xpl_Date mmddyy8.
            @32 Ter_Date mmddyy8.
            @41 Status 1.
            @43 PrevSurg 1.
            @45 NMismatch 1.
            @47 Antigen 1.
            @49 Mismatch 4.
            @54 Reject 1.
            @56 NotTyped $1.;
      label Bir_Date ='Date of birth'
            Acc_Date ='Date of acceptance'
            Xpl_Date ='Date of transplant'
            Ter_Date ='Date last seen'
            Status   =  'Dead=1 Alive=0'
            PrevSurg ='Previous surgery'
            NMismatch= 'No of mismatches'
            Antigen  = 'HLA-A2 antigen'
            Mismatch ='Mismatch score'
            NotTyped = 'y=not tissue-typed';
      Time= Ter_Date - Acc_Date;
      Acc_Age=int( (Acc_Date - Bir_Date)/365 );
      if ( Xpl_Date ne .) then do;
         WaitTime= Xpl_Date - Acc_Date;
         Xpl_Age= int( (Xpl_Date - Bir_Date)/365 );
      end;
      datalines;
     1 01 10 37 11 15 67          01 03 68 1 0
     2 03 02 16 01 02 68          01 07 68 1 0
     3 09 19 13 01 06 68 01 06 68 01 21 68 1 0 2 0 1.11 0
     4 12 23 27 03 28 68 05 02 68 05 05 68 1 0 3 0 1.66 0
     5 07 28 47 05 10 68          05 27 68 1 0
     6 11 18 13 06 13 68          06 15 68 1 0
     7 08 29 17 07 12 68 08 31 68 05 17 70 1 0 4 0 1.32 1
     8 03 27 23 08 01 68          09 09 68 1 0
     9 06 11 21 08 09 68          11 01 68 1 0
    10 02 09 26 08 11 68 08 22 68 10 07 68 1 0 2 0 0.61 1
    11 08 22 20 08 15 68 09 09 68 01 14 69 1 0 1 0 0.36 0
    12 07 09 15 09 17 68          09 24 68 1 0
    13 02 22 14 09 19 68 10 05 68 12 08 68 1 0 3 0 1.89 1
    14 09 16 14 09 20 68 10 26 68 07 07 72 1 0 1 0 0.87 1
    15 12 04 14 09 27 68          09 27 68 1 1
    16 05 16 19 10 26 68 11 22 68 08 29 69 1 0 2 0 1.12 1
    17 06 29 48 10 28 68          12 02 68 1 0
    18 12 27 11 11 01 68 11 20 68 12 13 68 1 0 3 0 2.05 0
    19 10 04 09 11 18 68          12 24 68 1 0
    20 10 19 13 01 29 69 02 15 69 02 25 69 1 0 3 1 2.76 1
    21 09 29 25 02 01 69 02 08 69 11 29 71 1 0 2 0 1.13 1
    22 06 05 26 03 18 69 03 29 69 05 07 69 1 0 3 0 1.38 1
    23 12 02 10 04 11 69 04 13 69 04 13 71 1 0 3 0 0.96 1
    24 07 07 17 04 25 69 07 16 69 11 29 69 1 0 3 1 1.62 1
    25 02 06 36 04 28 69 05 22 69 04 01 74 0 0 2 0 1.06 0
    26 10 18 38 05 01 69          03 01 73 0 0
    27 07 21 60 05 04 69          01 21 70 1 0
    28 05 30 15 06 07 69 08 16 69 08 17 69 1 0 2 0 0.47 0
    29 02 06 19 07 14 69          08 17 69 1 0
    30 09 20 24 08 19 69 09 03 69 12 18 71 1 0 4 0 1.58 1
    31 10 04 14 08 23 69          09 07 69 1 0
    32 04 02 05 08 29 69 09 14 69 11 13 69 1 0 4 0 0.69 1
    33 01 01 21 11 27 69 01 16 70 04 01 74 0 0 3 0 0.91 0
    34 05 24 29 12 12 69 01 03 70 04 01 74 0 0 2 0 0.38 0
    35 08 04 26 01 21 70          02 01 70 1 0
    36 05 01 21 04 04 70 05 19 70 07 12 70 1 0 2 0 2.09 1
    37 10 24 08 04 25 70 05 13 70 06 29 70 1 0 3 1 0.87 1
    38 11 14 28 05 05 70 05 09 70 05 09 70 1 0 3 0 0.87 0
    39 11 12 19 05 20 70 05 21 70 07 11 70 1 0            y
    40 11 30 21 05 25 70 07 04 70 04 01 74 0 1 4 0 0.75 0
    41 04 30 25 08 19 70 10 15 70 04 01 74 0 1 2 0 0.98 0
    42 03 13 34 08 21 70          08 23 70 1 0
    43 06 01 27 10 22 70          10 23 70 1 1
    44 05 02 28 11 30 70          01 08 71 1 1
    45 10 30 34 01 05 71 01 05 71 02 18 71 1 0 1 0 0.0  0
    46 06 01 22 01 10 71 01 11 71 10 01 73 1 1 2 0 0.81 1
    47 12 28 23 02 02 71 02 22 71 04 14 71 1 0 3 0 1.38 1
    48 01 23 15 02 05 71          02 13 71 1 0
    49 06 21 34 02 15 71 03 22 71 04 01 74 0 1 4 0 1.35 0
    50 03 28 25 02 15 71 05 08 71 10 21 73 1 1            y
    51 06 29 22 03 24 71 04 24 71 01 02 72 1 0 4 1 1.08 1
    52 01 24 30 04 25 71          08 04 71 1 0
    53 02 27 24 07 02 71 08 11 71 01 05 72 1 0            y
    54 09 16 23 07 02 71          07 04 71 1 0
    55 02 24 19 08 09 71 08 18 71 10 08 71 1 0 2 0 1.51 1
    56 12 05 32 09 03 71 11 08 71 04 01 74 0 0 4 0 0.98 0
    57 06 08 30 09 13 71          02 08 72 1 0
    58 09 17 23 09 23 71 10 13 71 08 30 72 1 1 2 1 1.82 1
    59 05 12 30 09 29 71 12 15 71 04 01 74 0 1 2 0 0.19 0
    60 10 29 22 11 18 71 11 20 71 01 09 72 1 0 3 0 0.66 1
    61 05 12 19 12 04 71          12 05 71 1 0
    62 08 01 32 12 09 71          02 15 72 1 0
    63 04 15 39 12 12 71 01 07 72 04 01 74 0 0 3 1 1.93 0
    64 04 09 23 02 01 72 03 04 72 09 06 73 1 1 1 0 0.12 0
    65 11 19 20 03 06 72 03 17 72 05 22 72 1 0 2 0 1.12 1
    66 01 02 19 03 20 72          04 20 72 1 0
    67 09 03 52 03 23 72 05 18 72 01 01 73 1 0 3 0 1.02 0
    68 01 10 27 04 07 72 04 09 72 06 13 72 1 0 3 1 1.68 1
    69 06 05 24 06 01 72 06 10 72 04 01 74 0 0 2 0 1.20 0
    70 06 17 19 06 17 72 06 21 72 07 16 72 1 0 3 1 1.68 1
    71 02 22 25 07 21 72 08 20 72 04 01 74 0 0 3 0 0.97 0
    72 11 22 45 08 14 72 08 17 72 04 01 74 0 0 3 1 1.46 0
    73 05 13 16 09 11 72 10 07 72 12 09 72 1 0 3 1 2.16 1
    74 07 20 43 09 18 72 09 22 72 10 04 72 1 0 1 0 0.61 0
    75 07 25 20 09 29 72          09 30 72 1 0
    76 09 03 20 10 04 72 11 18 72 04 01 74 0 1 3 1 1.70 0
    77 08 27 31 10 06 72          10 26 72 1 0
    78 02 20 24 11 03 72 05 31 73 04 01 74 0 0 3 0 0.81 0
    79 02 18 19 11 30 72 02 04 73 03 05 73 1 0 2 0 1.08 1
    80 06 27 26 12 06 72 12 31 72 04 01 74 0 1 3 0 1.41 0
    81 02 21 20 01 12 73 01 17 73 04 01 74 0 0 4 1 1.94 0
    82 09 19 42 11 01 71          01 01 73 0 0
    83 10 04 19 01 24 73 02 24 73 04 13 73 1 0 4 0 3.05 0
    84 05 13 30 01 30 73 03 07 73 12 29 73 1 0 4 0 0.60 1
    85 02 13 25 02 06 73          02 10 73 1 0
    86 03 30 24 03 01 73 03 08 73 04 01 74 0 0 3 1 1.44 0
    87 12 19 26 03 21 73 05 19 73 07 08 73 1 0 2 0 2.25 1
    88 11 16 18 03 28 73 04 27 73 04 01 74 0 0 3 0 0.68 0
    89 03 19 22 04 05 73 08 21 73 10 28 73 1 0 4 1 1.33 1
    90 03 25 21 04 06 73 09 12 73 10 08 73 1 1 3 1 0.82 0
    91 09 08 25 04 13 73          03 18 74 1 0
    92 05 03 28 04 27 73 03 02 74 04 01 74 0 0 1 0 0.16 0
    93 10 10 25 07 11 73 08 07 73 04 01 74 0 0 2 0 0.33 0
    94 11 11 29 09 14 73 09 17 73 02 25 74 1 1 3 0 1.20 1
    95 06 11 33 09 22 73 09 23 73 10 07 73 1 0            y
    96 02 09 47 10 04 73 10 16 73 04 01 74 0 0 2 0 0.46 0
    97 04 11 50 11 22 73 12 12 73 04 01 74 0 0 3 1 1.78 0
    98 04 28 45 12 14 73 03 19 74 04 01 74 0 0 4 1 0.77 0
    99 02 24 24 12 25 73          01 14 74 1 0
   100 01 31 39 02 22 74 03 31 74 04 01 74 0 1 3 0 0.67 0
   101 08 25 24 03 02 74          04 01 74 0 0
   102 10 30 33 03 22 74          04 01 74 0 0
   103 05 20 28 09 13 67          09 18 67 1 0
   ;

Crowley and Hu (1977) have presented a number of analyses to assess the effects of various explanatory variables on the survival of patients. This example fits two of the models that they have considered.

The first model consists of two explanatory variables -the transplant status and the age at acceptance. The transplant status (XStatus) is a time-dependent variable defined by the programming statements between the MODEL statement and the RUN statement. The XStatus variable takes the value 1 or 0 at time (measured from the date of acceptance), depending on whether or not the patient has received a transplant at that time. Note that the value of XStatus changes for subjects in each risk set (subjects still alive just before each distinct event time); therefore, the variable cannot be created in the DATA step. The variable Acc_Age, which is not time-dependent, accounts for the possibility that pretransplant risks vary with age.

   proc phreg data= Heart;
      model Time*Status(0)= XStatus Acc_Age;
      if (WaitTime = . or Time < WaitTime) then XStatus=0.;
      else  XStatus= 1.0;
   run;

Output 49.4.1: Heart Transplant Study Analysis I

The PHREG Procedure

Model Information
Data Set WORK.HEART  
Dependent Variable Time  
Censoring Variable Status Dead=1 Alive=0
Censoring Value(s) 0  
Ties Handling BRESLOW  

Summary of the Number of Event and Censored
Values
Total Event Censored Percent
Censored
103 75 28 27.18

Convergence Status
Convergence criterion (GCONV=1E-8) satisfied.

Model Fit Statistics
Criterion Without
Covariates
With
Covariates
-2 LOG L 596.649 591.312
AIC 596.649 595.312
SBC 596.649 599.947

Testing Global Null Hypothesis: BETA=0
Test Chi-Square DF Pr > ChiSq
Likelihood Ratio 5.3370 2 0.0694
Score 4.7900 2 0.0912
Wald 4.7812 2 0.0916


The PHREG Procedure

Analysis of Maximum Likelihood Estimates
Variable DF Parameter
Estimate
Standard
Error
Chi-Square Pr > ChiSq Hazard
Ratio
XStatus 1 -0.06046 0.30572 0.0391 0.8432 0.941
Acc_Age 1 0.03147 0.01445 4.7443 0.0294 1.032

Results of this analysis are shown in Output 49.4.1. Transplantation appears to be associated with a slight decrease in risk, although the effect is not significant (p=0.8432). The age at acceptance as a pretransplant risk factor adds significantly to the model (p=0.0294). The risk increases significantly with age at acceptance.

The second model consists of three explanatory variables -the transplant status, the transplant age, and the mismatch score. Four transplant recipients who were not typed have no Mismatch values; they are excluded from the analysis by the use of a WHERE clause. The transplant age (XAge) and the mismatch score (XScore) are also time-dependent and are defined in a fashion similar to that of XStatus. While the patient is waiting for a transplant, XAge and XScore have a value of 0. After the patient has migrated to the recipient population, XAge takes on the value of Xpl_Age (transplant age for the recipient), and XScore takes on the value of Mismatch (a measure of the degree of dissimilarity between donor and recipient).

   proc phreg data= Heart;
      model Time*Status(0)= XStatus XAge XScore;
      where NotTyped ^= 'y';
      if (WaitTime = . or Time < WaitTime) then do;
         XStatus=0.;
         XAge=0.;
         XScore= 0.;
      end;
      else do;
         XStatus= 1.0;
         XAge= Xpl_Age;
         XScore= Mismatch;
      end;
   run;

Output 49.4.2: Heart Transplant Study Analysis II

The PHREG Procedure

Model Information
Data Set WORK.HEART  
Dependent Variable Time  
Censoring Variable Status Dead=1 Alive=0
Censoring Value(s) 0  
Ties Handling BRESLOW  

Summary of the Number of Event and Censored
Values
Total Event Censored Percent
Censored
99 71 28 28.28

Convergence Status
Convergence criterion (GCONV=1E-8) satisfied.

Model Fit Statistics
Criterion Without
Covariates
With
Covariates
-2 LOG L 561.646 551.911
AIC 561.646 557.911
SBC 561.646 564.699

Testing Global Null Hypothesis: BETA=0
Test Chi-Square DF Pr > ChiSq
Likelihood Ratio 9.7350 3 0.0210
Score 9.0127 3 0.0291
Wald 9.0156 3 0.0291

Analysis of Maximum Likelihood Estimates
Variable DF Parameter
Estimate
Standard
Error
Chi-Square Pr > ChiSq Hazard
Ratio
XStatus 1 -3.17799 1.18612 7.1787 0.0074 0.042
XAge 1 0.05517 0.02259 5.9649 0.0146 1.057
XScore 1 0.44424 0.28026 2.5125 0.1129 1.559


Results of the analysis are shown in Output 49.4.2. Note that only 99 patients are included in this analysis, instead of 103 patients as in the previous analysis, since four transplant recipients who were not typed are excluded. The variable XAge is statistically significant (p=0.0146) with a hazards ratio exceeding 1. Therefore, patients who had a transplant at younger ages lived longer than those who received a transplant later in their lives. The variable XScore has only minimal effect on the survival (p=0.1129).

Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
Top
Top

Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.