Fitting the Model

library(nsqipColonICG)

We can start by running a regression on the unmatched data.

fit <- glm(col_anastomotic ~ icg + sex + race + inout + age + insulin + bmi + 
             smoke + dependent + hxcopd + ascites + hxchf + dialysis + discancr + wndinf +
             steroid + wtloss + bleeddis + transfus + prsepis + pralbum + renafail + dialysis +
             emergncy + optime + col_mech_bowel_prep + col_oral_antibiotic +
             col_mech_bowel_prep:col_oral_antibiotic + renafail:dialysis + col_chemo + cancer + lap, 
           data = unmatch_df,
           family = quasibinomial(link = "logit"), 
           maxit = 100)

exp(lmtest::coefci(fit, vcov. = sandwich::vcovHC, type = "HC1"))[2,1:2]
#>     2.5 %    97.5 % 
#> 0.4485266 1.3391525

The confidence interval would seem to suggest no difference. Indeed, this is confirmed by a simple chi-square test which fails to find significant difference.

table(unmatch_df$col_anastomotic, unmatch_df$icg)
#>        
#>         FALSE  TRUE
#>   FALSE 76143   597
#>   TRUE   2497    13
chisq.test(unmatch_df$col_anastomotic, unmatch_df$icg)
#> 
#>  Pearson's Chi-squared test with Yates' continuity correction
#> 
#> data:  unmatch_df$col_anastomotic and unmatch_df$icg
#> X-squared = 1.8246, df = 1, p-value = 0.1768

If I try to minimize this model to just significant variables:

fit <- glm(col_anastomotic ~ icg + sex + bmi + 
             smoke + wndinf +
             steroid + wtloss + bleeddis + prsepis + pralbum + optime + col_mech_bowel_prep + col_oral_antibiotic +
             col_mech_bowel_prep:col_oral_antibiotic + col_chemo + lap, 
           data = unmatch_df,
           family = quasibinomial(link = "logit"), 
           maxit = 100)

exp(lmtest::coefci(fit, vcov. = sandwich::vcovHC, type = "HC1"))[2,1:2]
#>     2.5 %    97.5 % 
#> 0.4465451 1.3345540

It still is not much different.

And now on the matched data.

fit <- glm(col_anastomotic ~ icg + sex + race + inout + age + insulin + bmi + 
             smoke + dependent + hxcopd + ascites + hxchf + dialysis + discancr + wndinf +
             steroid + wtloss + bleeddis + transfus + prsepis + pralbum + 
             emergncy + optime + col_mech_bowel_prep + col_oral_antibiotic +
             col_mech_bowel_prep:col_oral_antibiotic + col_chemo + cancer + lap, 
           data = match_df, weights = weights,
           family = quasibinomial(link = "logit"), 
           maxit = 100)

exp(lmtest::coefci(fit, vcov. = sandwich::vcovHC, type = "HC1"))[2,1:2]
#>     2.5 %    97.5 % 
#> 0.3936455 2.1202966

Both of these results would imply there is no difference in anastomotic leak rates with ICG.

table(match_df$col_anastomotic, match_df$icg)
#>        
#>         FALSE TRUE
#>   FALSE   584  597
#>   TRUE     13   13
chisq.test(match_df$col_anastomotic, match_df$icg)
#> 
#>  Pearson's Chi-squared test with Yates' continuity correction
#> 
#> data:  match_df$col_anastomotic and match_df$icg
#> X-squared = 2.7965e-28, df = 1, p-value = 1