Thanks to Terry Therneau for his rapid response, attached below. I am
forwarding this on without waiting for any other input, as Terry is the
ultimate authority and arbiter on issues dealing with the S-Plus Cox model
materials.
My comments:
1. I use S-Plus 6.1 for Windows. Users of cox.zph in the Windows version
should be aware that this version of S-Plus defaults to using the 'identity'
time transform rather than the 'km' transform, as is stated in the S-Plus
Help files. If users intend to use the 'km' transform, they should
stipulate this explicitly. I have just today loaded S-Plus for Windows 6.2,
and it behaves exactly the same as 6.1.
Interestingly, as I commented before, the definition of the cox.zph function
in both S-Plus 6.1 and 6.2 for Windows indicates in the function prototype a
default to 'km'. But lines 13 - 14 of the code set the transform to
'identity' if the transform parameter is missing in the call. I am not good
enough at S-Plus programming to know why, when there is a default to 'km'
stipulated in the prototype, the program still sees the value of transform
as missing unless it is expressly stipulated. The Insightful folks may want
to review this.
2. It was my error to refer to "cumulative" Schoenfeld residuals. Terry's
book does clearly define the Schoenfeld residuals without the addition of
beta-hat. But what the cox.zph function returns is the sum of the residuals
plus the relevant beta-hat. This is actually sort of neat, since it means
that the graph that is produced by plot(cox.zph(model)) is actually plotting
an estimate of the beta as a function of time.
Again, Terry, thanks.
Larry Hunsicker
-----Original Message-----
From: Terry Therneau [mailto:therneau@mayo.edu]
Sent: Monday, December 29, 2003 12:12 PM
To: lawrence-hunsicker@uiowa.edu
Subject: Re: [S] Three questions about cox.zph()
Here are my opinions, which I assume you will summarize (along with other
answers) to the group.
1. Default transform. What release and platform of S-plus? The local
source code defaults to "KM" transform, but it takes time to propogate to
distributions.
2. "scaled Schoenfeld residuals". This is my mistake. I tend to
use the term for both the the version with and without \hat\beta added
to them. The book clearly defines them one way (without the addition), and
the manual page the other (with).
Note that "cumulated" residuals are never used in the code, nor do I
recommend using them.
3. As a default value the KM transform is safe. It tends to produce a plot
that does not have a few points far removed from all the others, either to
the left end of the plot (as sometimes happens with log(time)) or to the
right hand side (as sometimes happens with the identity).
In my own work, I ususally look at more than one transform, and present
the
one I like best to my physician co-investigators. "Like best" usually means
that the data is reasonably spread out, and the axis is interpretable, the
same type of artistic considerations I'd use for any plot.
Terry Therneau
|