Dear John,

It's not clear to me exactly what you have in mind, but car::linearHypothesis(), multcomp::glht(), and the emmeans package work with Cox models. I expect there are functions in other packages that will work too.

Here's an example, surely simpler than what you have in mind, but you can probably adapt it:

------------------ snip -----------------

> library("survival")
> library("car")
Loading required package: carData
> mod.allison <- coxph(Surv(week, arrest) ~
+                        fin + age + race + wexp + mar + paro + prio,
+                      data=Rossi)
> mod.allison
Call:
coxph(formula = Surv(week, arrest) ~ fin + age + race + wexp +
    mar + paro + prio, data = Rossi)

                   coef exp(coef) se(coef)      z       p
finyes         -0.37942   0.68426  0.19138 -1.983 0.04742
age            -0.05744   0.94418  0.02200 -2.611 0.00903
raceother      -0.31390   0.73059  0.30799 -1.019 0.30812
wexpyes        -0.14980   0.86088  0.21222 -0.706 0.48029
marnot married  0.43370   1.54296  0.38187  1.136 0.25606
paroyes        -0.08487   0.91863  0.19576 -0.434 0.66461
prio            0.09150   1.09581  0.02865  3.194 0.00140

Likelihood ratio test=33.27  on 7 df, p=2.362e-05
n= 432, number of events= 114
>
> linearHypothesis(mod.allison, "finyes")
Linear hypothesis test

Hypothesis:
finyes = 0

Model 1: restricted model
Model 2: Surv(week, arrest) ~ fin + age + race + wexp + mar + paro + prio

  Res.Df Df  Chisq Pr(>Chisq)
1    426
2    425  1 3.9306    0.04742 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>
> library("multcomp")
Loading required package: mvtnorm
Loading required package: TH.data
Loading required package: MASS

Attaching package: ‘TH.data’

The following object is masked from ‘package:MASS’:

    geyser

> summary(glht(mod.allison, "finyes=0"))

         Simultaneous Tests for General Linear Hypotheses

Fit: coxph(formula = Surv(week, arrest) ~ fin + age + race + wexp +
    mar + paro + prio, data = Rossi)

Linear Hypotheses:
            Estimate Std. Error z value Pr(>|z|)
finyes == 0  -0.3794     0.1914  -1.983   0.0474 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)

>
> library(emmeans)
> pairs(emmeans(mod.allison, ~ fin))
 contrast estimate    SE  df z.ratio p.value
 no - yes    0.379 0.191 Inf 1.983   0.0474

------------------ snip -----------------

Results are averaged over the levels of: race, wexp, mar, paro
Results are given on the log (not the response) scale.

John Fox, Professor Emeritus
McMaster University
Hamilton, Ontario, Canada
web: https://socialsciences.mcmaster.ca/jfox/

On 2021-04-05 11:28 p.m., Sorkin, John wrote:
I would like to define contrasts on the output of a coxph function. It appears 
that the contrast function from the contrast library does not have a method 
defined that will allow computation of contrasts on a coxph object.

How does one define and evaluate contrasts for a cox model?

Thank you,
John

John David Sorkin M.D., Ph.D.
Professor of Medicine
Chief, Biostatistics and Informatics
University of Maryland School of Medicine Division of Gerontology and Geriatric 
Medicine
Baltimore VA Medical Center
10 North Greene Street
GRECC (BT/18/GR)
Baltimore, MD 21201-1524
(Phone) 410-605-7119
(Fax) 410-605-7913 (Please call phone number above prior to faxing)


______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to