Errata for First Printing (Sept. 2015) of Regression Modeling Strategies, 2nd Edition
For replacements for R code that no longer works due to changes in the R system or R packages, to go
Rms2AltR
Abbreviation |
Meaning |
Pg |
Page |
L |
Line |
Pr |
Paragraph |
b |
From Bottom (ignoring equations) |
Eq |
Equation |
|
Corrected in master file |
Pg i |
Feinberg should be Fienberg |
|
Pg 150 |
Changes in ggplot2 require code changes (4) below |
|
Pg 174 |
Dotted blue line is missing in Figure 8.5. It should be at y=3958 |
|
Pg 179 |
Spline model in first large box - see (2) |
* |
Pg 184 Fig. 9.2 |
Caption should have log L not just L |
|
Pg 240 |
Table 10.4 114.51 should be 114.41 |
|
Pg 256 R code |
x=TRUE, y=TRUE should be x=TRUE, y=TRUE, data=sex.age.response |
|
Pg 256 R code |
which.influence(f, .4) should be round(resid(f, 'dfbetas'), 1) |
|
Pg 306 |
five completed datasets should be twenty completed datasets plus 2 other places |
|
Pg 360 2 lines under Eq 15.1 |
X should be X subscript i |
|
Pg 373 Fig. 15.4 |
Was run with default family (logistic) instead of intended family='loglog'; agreement increases |
|
Pg 508 Fig. 20.8 |
Omitted text (1) and index under figure |
|
Pg 516 top |
Code for Fig. 20.7: see Rms2AltR |
|
Pg 516 bottom |
Code for Fig. 20.10: see Rms2AltR |
|
Pg 526 |
3 paragraphs (3) omitted before rcspline.plot(lvef, d.time, event=cdeath, nk=3) due to omission of @ in previous chunk |
|
* Denotes places in the master text where changes are indicated with TODO and lines need to be uncommented.
(1) You can see that the ratio is not stable from 160 to 190 days, but is mostly flat thereafter. \index{hazard ratio!interval-specific} Interval-specific estimates of the group 2 : group 1 log
hazard ratios are shown in Table~\ref{tab:cox-ratios-group} with intervals specified to yield equal numbers of deaths. The Efron likelihood was used. [had omitted @ to close
knitr
chunk above]
(2) To make the model converge, and to actually show a dotted blue line, the model had to have some splines reduced from 5 knots to 4 knots:
f <- cph(S ~ rcs(sz,4) + rcs(sg,4) + rcs(log(ap),5) +
rcs(sbp,4) + rcs(dbp,4) + rcs(age,3) + rcs(wt,4) +
rcs(hg,4) + ekg + pf + bm + hx,
tol=1e-14, data=imputed)
New text interpreting the results: The model allowing all continuous predictors to be nonlinear is better than the linear full model but not b etter than the 5
component model.
(3) The standard errors of log survival probabilities computed by \fu{cph} and the confidence intervals derived by the associated functions
\fu{survest} and \fu{survplot} are only proper when the model contains only stratification factors or when predictions are made at the means of all covariables,
unless you store in the fit object the data used in fitting the model using the options \Co{x=TRUE, y=TRUE}. The \fu{survfit.cph} and \fu{survest} functions are modifications of Therneau's
\fu{survfit.coxph} function that can obtain predicted survival probabilities and confidence intervals for any setting of predictors. \fu{survfit.cph} and
\fu{survest} are called as needed when you request plots.
The \fu{survest} function is used to obtain predicted survival curves or survival at a given vector of times, for a desired set of predictor
values and a fit produced by \fu{cph}. Confidence limits may be obtained also, as can the standard error of the log--log survival.
The \fu{survplot} function is similar in some ways to the \fu{Predict} and \Co{plot}, but it plots follow-up time on the $x$-axis. It plots step-function survival
curves with confidence bands or confidence bars for Cox models.
Figure~\ref{fig:cox-ef-spline} was produced using ...
(4)
require(data.table)
cdystonia <- data.table(cdystonia)
cdys <- cdystonia[, j=as.list(quantile(twstrs, (1 : 3)/4)),
by = list(treat, week)]
cdys <- upData(cdys, rename=c('25%'='Q1', '50%'='Q2', '75%'='Q3'))
ggplot(cdys, aes(x=week, y=Q2)) + xl + yl + ylim(0, 70) +
geom_line() + facet_wrap(~ treat, nrow=2) +
geom_ribbon(aes(ymin=Q1, ymax=Q3), alpha=0.2)