I am trying to do a Fine & Gray competing risk analysis for breast cancer death in patients with breast cancer. I want to assess the interaction betweeen race and chemotherapy on breast cancer death.

My database is df2 and has all categorical variables. survival is survival time, and cod_breast is the variable containing reason for death (failcode = 1, censoring = 2)


My overal model is:

cov1 <- model.matrix(~  chemotherapy + race +  age_di + stage + grade+
                                        radiation + surgery, data = df2)[, -1]

crr.cov1 <- crr(ftime=df2$survival, fstatus=df2$cod_breast, failcode=1, cencode=2, cov1=cov1)

My model with interaction is:

cov1int <- model.matrix(~  chemotherapy + race + chemotherapy:race + age_di + stage + grade+
                                        radiation + surgery, data = df2)[, -1]

crr.cov1int <- crr(ftime=df2$survival, fstatus=df2$cod_breast, failcode=1, cencode=2, cov1=cov1int)

My question is how do I assess the significance of the interaction in this sceneario? For Cox models, I usually do anova(crr.cov1,crr.cov1int,test="Chisq"). However, this doesnt work with Fine & Gray.

  • $\begingroup$ What could possibly be a competing risk for OS that shouldn't rather be considered censoring? Immortality? Do you mean you're modeling disease progression with overall survival as a competing risk? $\endgroup$
    – AdamO
    Commented Dec 15, 2022 at 19:58
  • $\begingroup$ I am sorry, I meant I am trying to do a Fine & Gray competing risk analysis for breast cancer death ( competing with non-breast cancer death). $\endgroup$
    – Jesus A
    Commented Dec 16, 2022 at 1:52

2 Answers 2


If you accept the pseudolikelihood ratio test (the default method of inference in the Fine Gray model see https://www.rdocumentation.org/packages/cmprsk/versions/2.2-11/topics/summary.crr), then testing the interaction effect is no different than testing the marginal effect. Your specific problem here is that the test of interest is larger than 1 degree of freedom, because chemo and race together (presumably) have more than 1 effect. OR at least I have to assume so, because you don't provide any data tabulations (please provide data tabulations when asking on CV). Luckily, it's not too hard to build this out from default. As an example using simulation:

ftime <- rexp(200)
fstatus <- sample(0:2,200,replace=TRUE)
X <- matrix(sample(letters[1:3], 400, replace=T), 200)
colnames(X) <- c('x', 'w')
Xf <- model.matrix(~ x*w, data=as.data.frame(X))[, -1]
z <- crr(ftime,fstatus,Xf)


> z
convergence:  TRUE 
      xb       xc       wb       wc    xb:wb    xc:wb    xb:wc    xc:wc 
-0.14510 -0.83210  0.30300  0.17500  0.35890  0.45140 -0.05315  0.67440 
standard errors:
[1] 0.5927 0.6785 0.6103 0.5814 0.7481 0.8635 0.7623 0.8167
two-sided p-values:
   xb    xc    wb    wc xb:wb xc:wb xb:wc xc:wc 
 0.81  0.22  0.62  0.76  0.63  0.60  0.94  0.41 

to test the 'x' and 'w' interaction terms (4 of), fit the lesser model:

Xr <- model.matrix(~ x + w, data=as.data.frame(X))[, -1]
y <- crr(ftime,fstatus,Xr)
p <- pchisq(-2 * (y$loglik - z$loglik), df=4, lower.tail = F)

Each object of class crr has a loglik value, so the by-hand (p)LRT test statistic (and p-value) is:

Ts <- -2 * (y$loglik - z$loglik)
p <- pchisq(Ts, df=4, lower.tail = F)*2

which gives:

> p
[1] 0.2029832
  • $\begingroup$ Are the "log pseudo-likelihood" returned in a crr object suitable for LRT? Additionally, in your code "p <- pchisq(Ts, df=4, lower.tail = F)*2" , why do we need to multiply by 2? $\endgroup$
    – Jesus A
    Commented Mar 23, 2023 at 23:36

I'm not sure whether the "log pseudo-likelihood" returned in a crr object is suitable for a likelihood-ratio test (which is probably what you're getting with the "Chisq" anova test on coxph objects). This discussion suggests that it might not be, at least as Fine-Gray is implemented in Stata.

Presumably the summary of coefficients reported for a crr object includes standard errors of coefficients and corresponding Wald tests. The Wald test for the interaction coefficient would be an acceptable assessment.

Pay close attention to the form of your model, however, as its interpretation might not be so straightforward as you would hope. Black women have a higher incidence of the particularly aggressive "triple-negative" type of breast cancer (TNBC), something not necessarily captured by the stage and grade predictors in your model. See, for example, Ref 1 directly comparing outcomes for races within TNBC. There also might be racial differences in the tendency to receive chemotherapy; see Ref 2. If you don't account for the biological type of breast cancer or differences in receipt of chemotherapy, it will be hard to interpret any of the regression coefficients, including the chemotherapy:race coefficient, very cleanly.

Finally, don't forget the cautions raised by Austin and Fine with respect to interpreting the magnitudes of coefficients in Fine-Gray models.

1. Doepker et al., Triple-Negative Breast Cancer: A Comparison of Race and Survival. Am Surg 84: 881-888 (2018).

2. Sheppard et al., Correlates of Triple Negative Breast Cancer and Chemotherapy Patterns in Black and White Women With Breast Cancer. Clin Breast Cancer 17: 232-238 (2017).

3. P.C. Austin and J.P. Fine, Practical recommendations for reporting Fine-Gray model analyses for competing risk data. Stat Med 36: 4391-4400 (2017)

  • 1
    $\begingroup$ There are legion technical problems with this question, which under the hood is an interesting question about R implentation. $\endgroup$
    – AdamO
    Commented Dec 15, 2022 at 19:59
  • $\begingroup$ thanks for the input. Indeed, I am restricting my analysis to specific breast cancer subtype of hormone positive/her2 negative which is the group I am interested in. The data for the association of TNBC and black race is robust. I read this paper ncbi.nlm.nih.gov/pmc/articles/PMC8120441 where did fine & gray competing risk analysis for Triple negative breast cancer death, and they assessed the interaction product term using the likelihood ratio test, but they did their statistical analysis using SAS, so I was wondering how to proceed with this using R. $\endgroup$
    – Jesus A
    Commented Dec 16, 2022 at 1:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.