Last updated: 2021-12-18

Checks: 6 1

Knit directory: esoph-micro-cancer-workflow/

This reproducible R Markdown analysis was created with workflowr (version 1.6.2). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.


The R Markdown is untracked by Git. To know which version of the R Markdown file created these results, you’ll want to first commit it to the Git repo. If you’re still working on the analysis, you can ignore this warning. When you’re finished, you can run wflow_publish to commit the R Markdown file and build the HTML.

Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.

The command set.seed(20200916) was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.

Great job! Recording the operating system, R version, and package versions is critical for reproducibility.

Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.

Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.

Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.

The results in this page were generated with repository version f648730. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.

Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish or wflow_git_commit). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:


Ignored files:
    Ignored:    .Rhistory
    Ignored:    .Rproj.user/
    Ignored:    data/

Untracked files:
    Untracked:  analysis/survival-analysis.Rmd
    Untracked:  code/get_reformatted_data.R
    Untracked:  code/survival_analysis_test.R
    Untracked:  output/notes.txt

Unstaged changes:
    Modified:   analysis/index.Rmd
    Modified:   analysis/picrust-campy.Rmd
    Modified:   analysis/waterfall-plot.Rmd

Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.


There are no past versions. Publish this analysis with wflow_publish() to start tracking its development.


Data

# survival data
survive_data <- read_xlsx("data/esophagusonly_survival_data.xlsx")

Summary of Case Counts

# Number of participants with Date of Diagnosis Data
nrow(survive_data) - sum(is.na(survive_data$`date of diagnosis`))
[1] 57
# Number of participants with Date of Surgery Data
nrow(survive_data) - sum(is.na(survive_data$`surg date`))
[1] 182
table(is.na(survive_data$`date of diagnosis`), is.na(survive_data$`surg date`))
       
        FALSE TRUE
  FALSE    31   26
  TRUE    151   17
# create new ID - date of diag if available, if not, use date of surg.
survive_data$date_start <- NA
survive_data$date_type <- NA 
for(i in 1:nrow(survive_data)){
  if(is.na(survive_data$`date of diagnosis`[i]) == F){
    survive_data$date_start[i] <- paste0(survive_data$`date of diagnosis`[i])
    survive_data$date_type[i] <- "DateOfDiagnosis"
  } else {
    if(is.na(survive_data$`surg date`[i]) == F){
      survive_data$date_start[i] <- paste0(survive_data$`surg date`[i])
      survive_data$date_type[i] <- "DateOfSurgery"
    }
  }
}
survive_data$date_start <- as.Date(survive_data$date_start)
survive_data$date_type <- factor(survive_data$date_type, levels = c("DateOfDiagnosis", "DateOfSurgery"))
# compute days survived
survive_data$days_surv <- difftime(survive_data$`DOD or censor`, survive_data$date_start)

# Status available
nrow(survive_data) - sum(is.na(survive_data$status))
[1] 225
table(survive_data$status)

  a   d 
 49 176 
survive_data$status_observed <- ifelse(survive_data$status == "d", 1, 0)
table(survive_data$status_observed)

  0   1 
 49 176 
# counts and date data
# Look at FALSE column for counts of cases we can use in the analysis
table(survive_data$status, is.na(survive_data$`date of diagnosis`), useNA = "ifany")
   
    FALSE TRUE
  a    35   14
  d    22  154
table(survive_data$status, is.na(survive_data$`surg date`), useNA = "ifany")
   
    FALSE TRUE
  a    19   30
  d   163   13

Visualize data

# format data so that we can plot time of surg. to time o 
plot_dat <- survive_data %>%
  mutate(
    time0 = as.Date(date_start),
    time_odc=as.Date(`DOD or censor`),
    ID = as.numeric(as.factor(Accession))
  )
p <- ggplot(plot_dat) +
  geom_segment(aes(x=time0,xend=time_odc,y=ID, yend=ID))
p
Warning: Removed 17 rows containing missing values (geom_segment).

plot_dat <- survive_data %>%
  arrange(desc(days_surv)) %>%
  mutate(
    ID = 1:nrow(survive_data)
  )
p <- ggplot(plot_dat, aes(color=date_type)) +
  geom_segment(aes(x=0,xend=days_surv,y=ID, yend=ID))+
  labs(y="Participant ID", x="Days Survived Passed Diagnosis or Surgery")
p
Warning: Removed 17 rows containing missing values (geom_segment).

Analysis

The specific analysis data depends on which OTU is used as a control variable.

M <- dat.16s.s %>% 
  dplyr::group_by(OTU) %>%
  dplyr::summarize(M=mean(Abundance, na.rm=T),
            med = median(Abundance, na.rm = T),
            q3 = quantile(Abundance, 0.6))
M
# A tibble: 4 x 4
  OTU                          M   med    q3
  <fct>                    <dbl> <dbl> <dbl>
1 Fusobacterium nucleatum  3.56    0     0.2
2 Streptococcus spp.*     28.4    21.6  32.4
3 Campylobacter spp.*      0.446   0     0  
4 Prevotella spp.          5.42    1.2   2.6
# create microbiome indicators
dat_micro1 <- dat.16s.s %>% 
  filter(OTU == "Fusobacterium nucleatum") %>%
  mutate(Fuso_Abund = Abundance,
         Fuso = ifelse(Abundance > 0, "high", "low")) %>%
  dplyr::select(accession.number, Fuso, Fuso_Abund, tissue, gender, age, Race, female, BMI.n, BarrettsHist, sample_type, pres, tumor.stage) %>%
  ungroup()%>%
  group_by(accession.number) %>%
  mutate(
    n = n(),
    flag = ifelse(n==1 | (n>1 & tissue == "T"), 1, 0)
  ) %>%
  filter(flag == 1)
Adding missing grouping variables: `OTU`
dat_micro2 <- dat.16s.s %>% 
  filter(OTU == "Streptococcus spp.*") %>%
  mutate(Strept_Abund = Abundance,
         Strept = ifelse(Abundance > 21.6, "high", "low")) %>%
  dplyr::select(accession.number, Strept,  Strept_Abund, tissue) %>%
  group_by(accession.number) %>%
  mutate(
    n = n(),
    flag = ifelse(n==1 | (n>1 & tissue == "T"), 1, 0)
  ) %>%
  filter(flag == 1)
Adding missing grouping variables: `OTU`
dat_micro3 <- dat.16s.s %>% 
  filter(OTU == "Campylobacter spp.*") %>%
  mutate(Campy_Abund = Abundance,
         Campy = ifelse(Abundance > 0, "high", "low")) %>%
  dplyr::select(accession.number, Campy, Campy_Abund, tissue) %>%
  group_by(accession.number) %>%
  mutate(
    n = n(),
    flag = ifelse(n==1 | (n>1 & tissue == "T"), 1, 0)
  ) %>%
  filter(flag == 1)
Adding missing grouping variables: `OTU`
dat_micro4 <- dat.16s.s %>% 
  filter(OTU == "Prevotella spp.") %>%
  mutate(Prevo_Abund=Abundance,
         Prevo = ifelse(Abundance > 1.2, "high", "low")) %>%
  dplyr::select(accession.number, Prevo, Prevo_Abund, tissue) %>%
  group_by(accession.number) %>%
  mutate(
    n = n(),
    flag = ifelse(n==1 | (n>1 & tissue == "T"), 1, 0)
  ) %>%
  filter(flag == 1)
Adding missing grouping variables: `OTU`
# check for microbiome data
# IF multiple samples from same person, use the cancer sample
dat_micro <- full_join(dat_micro1[,-1],dat_micro2[,2:4])
Joining, by = "accession.number"
dat_micro <- full_join(dat_micro,dat_micro3[,2:4])
Joining, by = "accession.number"
dat_micro <- full_join(dat_micro,dat_micro4[,2:4])
Joining, by = "accession.number"
# subset survival dataset 
#   => only those with surg date
sub_dat_survival <- survive_data %>%
  filter(date_type == "DateOfSurgery") %>%
  mutate(
    time0 = as.Date(date_start),
    time_odc=as.Date(`DOD or censor`),
    ID = as.numeric(as.factor(Accession)),
    etime = as.numeric(days_surv)) %>% 
  #ceiling(as.numeric(days_surv)/30)) %>%
  dplyr::select(Accession, ID, time0, time_odc, etime, days_surv, status_observed)

# joining survival & 16s data
full_dat <- inner_join(sub_dat_survival, dat_micro, by=c("Accession"="accession.number")) %>%
  mutate(
    Fuso = factor(Fuso, levels=c("low", "high"), ordered=T),
    Strept = factor(Strept, levels=c("low", "high"), ordered=T),
    Campy = factor(Campy, levels=c("low", "high"), ordered=T),
    Prevo = factor(Prevo, levels=c("low", "high"), ordered=T)
  )

The following analysis is based on the overall survival probability regardless of microbiome information.

library(rms)
library(survival)
library(survminer)
library(lubridate)

# Generate right-censored survival time variable
full_dat$years <- as.numeric(full_dat$days_surv /365.25)
units(full_dat$years) <- 'Year'
full_dat$S <- Surv(full_dat$years , full_dat$status_observed)

# fit null model
f0 <- survfit(Surv(years, status_observed) ~ 1, data = full_dat)
ggsurvplot(
    fit = survfit(Surv(years, status_observed) ~ 1, data = full_dat), 
    xlab = "Years", 
    ylab = "Overall survival probability")

f0 # overall survival time
Call: survfit(formula = Surv(years, status_observed) ~ 1, data = full_dat)

      n  events  median 0.95LCL 0.95UCL 
  78.00   76.00    1.82    1.21    3.14 
summary(f0, times = 1) # survival probability at 1 year
Call: survfit(formula = Surv(years, status_observed) ~ 1, data = full_dat)

 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    1     50      28    0.641  0.0543        0.543        0.757
summary(coxph(Surv(years, status_observed) ~ 1, data = full_dat))
Call:  coxph(formula = Surv(years, status_observed) ~ 1, data = full_dat)

Null model
  log likelihood= -262.2 
  n= 78 
# getting the number at risk over years 0:10
summary(f0, times = c(0:10))
Call: survfit(formula = Surv(years, status_observed) ~ 1, data = full_dat)

 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    0     78       0   1.0000  0.0000       1.0000        1.000
    1     50      28   0.6410  0.0543       0.5429        0.757
    2     37      13   0.4744  0.0565       0.3755        0.599
    3     32       5   0.4103  0.0557       0.3144        0.535
    4     24       8   0.3077  0.0523       0.2206        0.429
    5     22       2   0.2821  0.0510       0.1980        0.402
    6     13       9   0.1667  0.0422       0.1015        0.274
    7     10       3   0.1282  0.0379       0.0719        0.229
    8      7       3   0.0897  0.0324       0.0443        0.182
    9      6       1   0.0769  0.0302       0.0357        0.166
   10      4       1   0.0641  0.0277       0.0275        0.150

The baseline model above for the survival data shows that time to death after surgery is typically between 1.21 to 3.14 years (median=1.82 years). The one year after surgery survival probability is .61 (95% CI, [.54, .76]).

Fuso

f1 <- survfit(Surv(years, status_observed) ~ 1 + Fuso, data = full_dat)

ggsurvplot(
    fit = survfit(
      Surv(years, status_observed) ~ 1 + Fuso,
      data = full_dat,robust = T
    ),
    conf.int = T, 
    xlab = "Years", 
    ylab = "Overall survival probability")

f1# overall survival time
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Fuso, data = full_dat)

           n events median 0.95LCL 0.95UCL
Fuso=low  48     47   2.09   1.240    5.06
Fuso=high 30     29   1.61   0.898    3.15
summary(f1, times = 1) # survival probability at 1 year
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Fuso, data = full_dat)

                Fuso=low 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000       32.000       16.000        0.667        0.068        0.546 
upper 95% CI 
       0.814 

                Fuso=high 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000      18.0000      12.0000       0.6000       0.0894       0.4480 
upper 95% CI 
      0.8036 
coxph(Surv(years, status_observed) ~ 1 + I(Fuso == "high"), data = full_dat)
Call:
coxph(formula = Surv(years, status_observed) ~ 1 + I(Fuso == 
    "high"), data = full_dat)

                      coef exp(coef) se(coef)   z   p
I(Fuso == "high")TRUE  0.1       1.1      0.2 0.5 0.6

Likelihood ratio test=0.2  on 1 df, p=0.6
n= 78, number of events= 76 
# getting the number at risk over years 0:10
summary(f1, times = c(0:10))
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Fuso, data = full_dat)

                Fuso=low 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    0     48       0   1.0000  0.0000       1.0000        1.000
    1     32      16   0.6667  0.0680       0.5458        0.814
    2     24       8   0.5000  0.0722       0.3768        0.663
    3     21       3   0.4375  0.0716       0.3174        0.603
    4     17       4   0.3542  0.0690       0.2417        0.519
    5     17       0   0.3542  0.0690       0.2417        0.519
    6      9       8   0.1875  0.0563       0.1041        0.338
    7      6       3   0.1250  0.0477       0.0591        0.264
    8      3       3   0.0625  0.0349       0.0209        0.187
    9      2       1   0.0417  0.0288       0.0107        0.162
   10      2       0   0.0417  0.0288       0.0107        0.162

                Fuso=high 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    0     30       0    1.000  0.0000       1.0000        1.000
    1     18      12    0.600  0.0894       0.4480        0.804
    2     13       5    0.433  0.0905       0.2878        0.652
    3     11       2    0.367  0.0880       0.2291        0.587
    4      7       4    0.233  0.0772       0.1220        0.446
    5      5       2    0.167  0.0680       0.0749        0.371
    6      4       1    0.133  0.0621       0.0535        0.332
    7      4       0    0.133  0.0621       0.0535        0.332
    8      4       0    0.133  0.0621       0.0535        0.332
    9      4       0    0.133  0.0621       0.0535        0.332
   10      2       1    0.100  0.0548       0.0342        0.293

The model above for the survival decomposed by Fuso abundance strata (low versus high; i.e., Fuso abundance greater than 0, the median) shows that time to death after surgery is between 1.24 to 5.06 years (median=2.09 years) for low abundance. The one year after surgery survival probability is .67 (95% CI, [.55, .81]). For individuals with high Fuso abundance, the time to death after surgery is between 0.90 to 3.15 years (median=1.61 years) for high abundance. The one year after surgery survival probability is .60 (95% CI, [.45, .80]).

The LRT comparing the model with Fuso to the baseline model was not significant (\(G^2(1)=0.2, p=0.60\)). Giving evidence that Fuso (presence (high) versus absence (low)) did not significantly differentiate survival time in this sample.

With Covariates

f1.1 <- survfit(Surv(years, status_observed) ~ 1 + Fuso + I(age > median(age) )+ female, data = full_dat)
f1.1# overall survival time
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Fuso + I(age > 
    median(age)) + female, data = full_dat)

                                                 n events median 0.95LCL
Fuso=low, I(age > median(age))=FALSE, female=0  22     22 2.0890  1.2101
Fuso=low, I(age > median(age))=FALSE, female=1   5      5 1.4730  0.2683
Fuso=low, I(age > median(age))=TRUE , female=0  18     17 5.1759  1.5661
Fuso=low, I(age > median(age))=TRUE , female=1   3      3 0.0438  0.0192
Fuso=high, I(age > median(age))=FALSE, female=0  8      8 0.8501  0.5969
Fuso=high, I(age > median(age))=FALSE, female=1  4      4 1.4634  0.7173
Fuso=high, I(age > median(age))=TRUE , female=0 16     15 2.9432  0.8980
Fuso=high, I(age > median(age))=TRUE , female=1  2      2 1.2676  0.6817
                                                0.95UCL
Fuso=low, I(age > median(age))=FALSE, female=0     5.63
Fuso=low, I(age > median(age))=FALSE, female=1       NA
Fuso=low, I(age > median(age))=TRUE , female=0     7.72
Fuso=low, I(age > median(age))=TRUE , female=1       NA
Fuso=high, I(age > median(age))=FALSE, female=0      NA
Fuso=high, I(age > median(age))=FALSE, female=1      NA
Fuso=high, I(age > median(age))=TRUE , female=0      NA
Fuso=high, I(age > median(age))=TRUE , female=1      NA
summary(f1.1, times = 1, extend=T) # survival probability at 1 year
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Fuso + I(age > 
    median(age)) + female, data = full_dat)

                Fuso=low, I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000      15.0000       7.0000       0.6818       0.0993       0.5125 
upper 95% CI 
      0.9071 

                Fuso=low, I(age > median(age))=FALSE, female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        3.000        2.000        0.600        0.219        0.293 
upper 95% CI 
       1.000 

                Fuso=low, I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000       14.000        4.000        0.778        0.098        0.608 
upper 95% CI 
       0.996 

                Fuso=low, I(age > median(age))=TRUE , female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            0            3            0          NaN           NA 
upper 95% CI 
          NA 

                Fuso=high, I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        3.000        5.000        0.375        0.171        0.153 
upper 95% CI 
       0.917 

                Fuso=high, I(age > median(age))=FALSE, female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        3.000        1.000        0.750        0.217        0.426 
upper 95% CI 
       1.000 

                Fuso=high, I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000       11.000        5.000        0.688        0.116        0.494 
upper 95% CI 
       0.957 

                Fuso=high, I(age > median(age))=TRUE , female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        1.000        1.000        0.500        0.354        0.125 
upper 95% CI 
       1.000 
summary(coxph(Surv(years, status_observed) ~ 1 + I(Fuso == "high") + I(age > median(age)) + female, data = full_dat))
Call:
coxph(formula = Surv(years, status_observed) ~ 1 + I(Fuso == 
    "high") + I(age > median(age)) + female, data = full_dat)

  n= 78, number of events= 76 

                            coef exp(coef) se(coef)     z Pr(>|z|)   
I(Fuso == "high")TRUE     0.0785    1.0817   0.2481  0.32   0.7517   
I(age > median(age))TRUE -0.1893    0.8275   0.2476 -0.76   0.4446   
female                    0.9855    2.6792   0.3368  2.93   0.0034 **
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

                         exp(coef) exp(-coef) lower .95 upper .95
I(Fuso == "high")TRUE        1.082      0.925     0.665      1.76
I(age > median(age))TRUE     0.828      1.208     0.509      1.34
female                       2.679      0.373     1.385      5.18

Concordance= 0.607  (se = 0.034 )
Likelihood ratio test= 9.82  on 3 df,   p=0.02
Wald test            = 11.4  on 3 df,   p=0.01
Score (logrank) test = 12.5  on 3 df,   p=0.006

Strept

f2 <- survfit(Surv(years, status_observed) ~ 1 + Strept, data = full_dat)

ggsurvplot(
    fit = survfit(
      Surv(years, status_observed) ~ 1 + Strept,
      data = full_dat,robust = T
    ),
    conf.int = T, 
    xlab = "Years", 
    ylab = "Overall survival probability")

f2# overall survival time
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Strept, 
    data = full_dat)

             n events median 0.95LCL 0.95UCL
Strept=low  35     33   1.78   0.882    5.06
Strept=high 43     43   1.85   1.153    3.99
summary(f2, times = 1) # survival probability at 1 year
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Strept, 
    data = full_dat)

                Strept=low 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000      21.0000      14.0000       0.6000       0.0828       0.4578 
upper 95% CI 
      0.7864 

                Strept=high 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000      29.0000      14.0000       0.6744       0.0715       0.5479 
upper 95% CI 
      0.8301 
summary(coxph(Surv(years, status_observed) ~ I(Strept == "high"), data = full_dat))
Call:
coxph(formula = Surv(years, status_observed) ~ I(Strept == "high"), 
    data = full_dat)

  n= 78, number of events= 76 

                         coef exp(coef) se(coef)    z Pr(>|z|)
I(Strept == "high")TRUE 0.140     1.150    0.236 0.59     0.55

                        exp(coef) exp(-coef) lower .95 upper .95
I(Strept == "high")TRUE      1.15       0.87     0.724      1.83

Concordance= 0.494  (se = 0.034 )
Likelihood ratio test= 0.35  on 1 df,   p=0.6
Wald test            = 0.35  on 1 df,   p=0.6
Score (logrank) test = 0.35  on 1 df,   p=0.6
# getting the number at risk over years 0:10
summary(f2, times = c(0:10))
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Strept, 
    data = full_dat)

                Strept=low 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    0     35       0    1.000  0.0000       1.0000        1.000
    1     21      14    0.600  0.0828       0.4578        0.786
    2     17       4    0.486  0.0845       0.3454        0.683
    3     15       2    0.429  0.0836       0.2923        0.628
    4     11       4    0.314  0.0785       0.1927        0.513
    5     11       0    0.314  0.0785       0.1927        0.513
    6      5       6    0.143  0.0591       0.0635        0.322
    7      5       0    0.143  0.0591       0.0635        0.322
    8      5       0    0.143  0.0591       0.0635        0.322
    9      5       0    0.143  0.0591       0.0635        0.322
   10      3       1    0.114  0.0538       0.0454        0.287

                Strept=high 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    0     43       0   1.0000  0.0000      1.00000        1.000
    1     29      14   0.6744  0.0715      0.54795        0.830
    2     20       9   0.4651  0.0761      0.33757        0.641
    3     17       3   0.3953  0.0746      0.27318        0.572
    4     13       4   0.3023  0.0700      0.19199        0.476
    5     11       2   0.2558  0.0665      0.15365        0.426
    6      8       3   0.1860  0.0593      0.09957        0.348
    7      5       3   0.1163  0.0489      0.05101        0.265
    8      2       3   0.0465  0.0321      0.01202        0.180
    9      1       1   0.0233  0.0230      0.00335        0.161
   10      1       0   0.0233  0.0230      0.00335        0.161

The model above for the survival decomposed by Strepto abundance strata (low versus high; i.e., Strepto abundance greater than 0, the median) shows that time to death after surgery is between 0.88 to 5.06 years (median=1.78 years) for low abundance. The one year after surgery survival probability is .60 (95% CI, [.46, .79]). For individuals with high Strepto abundance, the time to death after surgery is between 1.15 to 3.99 years (median=1.85 years) for high abundance. The one year after surgery survival probability is .67 (95% CI, [.55, .83]).

The LRT comparing the model with Strepto to the baseline model was not significant (\(G^2(1)=0.3, p=0.60\)). Giving evidence that Strepto (high (greater than 21.6) versus low) did not significantly differentiate survival time in this sample.

With covariates

f2.1 <- survfit(Surv(years, status_observed) ~ 1 + Strept + I(age > median(age) )+ female, data = full_dat)
f2.1# overall survival time
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Strept + 
    I(age > median(age)) + female, data = full_dat)

                                                   n events median 0.95LCL
Strept=low, I(age > median(age))=FALSE, female=0  15     15  2.272  0.7228
Strept=low, I(age > median(age))=FALSE, female=1   4      4  0.493  0.0794
Strept=low, I(age > median(age))=TRUE , female=0  14     12  3.362  1.4401
Strept=low, I(age > median(age))=TRUE , female=1   2      2  0.363  0.0438
Strept=high, I(age > median(age))=FALSE, female=0 15     15  1.747  0.9199
Strept=high, I(age > median(age))=FALSE, female=1  5      5  1.634  1.4730
Strept=high, I(age > median(age))=TRUE , female=0 20     20  3.569  1.1526
Strept=high, I(age > median(age))=TRUE , female=1  3      3  0.851  0.0192
                                                  0.95UCL
Strept=low, I(age > median(age))=FALSE, female=0     5.98
Strept=low, I(age > median(age))=FALSE, female=1       NA
Strept=low, I(age > median(age))=TRUE , female=0       NA
Strept=low, I(age > median(age))=TRUE , female=1       NA
Strept=high, I(age > median(age))=FALSE, female=0    5.82
Strept=high, I(age > median(age))=FALSE, female=1      NA
Strept=high, I(age > median(age))=TRUE , female=0    6.32
Strept=high, I(age > median(age))=TRUE , female=1      NA
summary(f2.1, times = 1, extend=T) # survival probability at 1 year
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Strept + 
    I(age > median(age)) + female, data = full_dat)

                Strept=low, I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        9.000        6.000        0.600        0.126        0.397 
upper 95% CI 
       0.907 

                Strept=low, I(age > median(age))=FALSE, female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000       1.0000       3.0000       0.2500       0.2165       0.0458 
upper 95% CI 
      1.0000 

                Strept=low, I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000       11.000        3.000        0.786        0.110        0.598 
upper 95% CI 
       1.000 

                Strept=low, I(age > median(age))=TRUE , female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            0            2            0          NaN           NA 
upper 95% CI 
          NA 

                Strept=high, I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        9.000        6.000        0.600        0.126        0.397 
upper 95% CI 
       0.907 

                Strept=high, I(age > median(age))=FALSE, female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            5            0            1            0            1 
upper 95% CI 
           1 

                Strept=high, I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000       14.000        6.000        0.700        0.102        0.525 
upper 95% CI 
       0.933 

                Strept=high, I(age > median(age))=TRUE , female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000       1.0000       2.0000       0.3333       0.2722       0.0673 
upper 95% CI 
      1.0000 
summary(coxph(Surv(years, status_observed) ~ 1 + I(Strept == "high") + I(age > median(age)) + female, data = full_dat))
Call:
coxph(formula = Surv(years, status_observed) ~ 1 + I(Strept == 
    "high") + I(age > median(age)) + female, data = full_dat)

  n= 78, number of events= 76 

                           coef exp(coef) se(coef)     z Pr(>|z|)   
I(Strept == "high")TRUE   0.069     1.071    0.243  0.28   0.7761   
I(age > median(age))TRUE -0.183     0.833    0.245 -0.75   0.4554   
female                    0.986     2.680    0.338  2.92   0.0035 **
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

                         exp(coef) exp(-coef) lower .95 upper .95
I(Strept == "high")TRUE      1.071      0.933     0.666      1.72
I(age > median(age))TRUE     0.833      1.200     0.516      1.35
female                       2.680      0.373     1.383      5.19

Concordance= 0.594  (se = 0.035 )
Likelihood ratio test= 9.8  on 3 df,   p=0.02
Wald test            = 11.4  on 3 df,   p=0.01
Score (logrank) test = 12.4  on 3 df,   p=0.006

Campy

f3 <- survfit(Surv(years, status_observed) ~ 1 + Campy, data = full_dat)

ggsurvplot(
    fit = survfit(
      Surv(years, status_observed) ~ 1 + Campy,
      data = full_dat,robust = T
    ),
    conf.int = T, 
    xlab = "Years", 
    ylab = "Overall survival probability")

f3# overall survival time
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Campy, data = full_dat)

            n events median 0.95LCL 0.95UCL
Campy=low  63     62   1.91   1.440    3.17
Campy=high 15     14   1.14   0.723    5.06
summary(f3, times = 1) # survival probability at 1 year
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Campy, data = full_dat)

                Campy=low 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000      42.0000      21.0000       0.6667       0.0594       0.5599 
upper 95% CI 
      0.7939 

                Campy=high 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        8.000        7.000        0.533        0.129        0.332 
upper 95% CI 
       0.856 
summary(coxph(Surv(years, status_observed) ~ 1 + I(Campy == "high"), data = full_dat))
Call:
coxph(formula = Surv(years, status_observed) ~ 1 + I(Campy == 
    "high"), data = full_dat)

  n= 78, number of events= 76 

                        coef exp(coef) se(coef)   z Pr(>|z|)
I(Campy == "high")TRUE 0.271     1.311    0.300 0.9     0.37

                       exp(coef) exp(-coef) lower .95 upper .95
I(Campy == "high")TRUE      1.31      0.763     0.729      2.36

Concordance= 0.522  (se = 0.024 )
Likelihood ratio test= 0.77  on 1 df,   p=0.4
Wald test            = 0.82  on 1 df,   p=0.4
Score (logrank) test = 0.82  on 1 df,   p=0.4
# getting the number at risk over years 0:10
summary(f3, times = c(0:10))
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Campy, data = full_dat)

                Campy=low 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    0     63       0   1.0000  0.0000       1.0000        1.000
    1     42      21   0.6667  0.0594       0.5599        0.794
    2     31      11   0.4921  0.0630       0.3829        0.632
    3     27       4   0.4286  0.0623       0.3222        0.570
    4     20       7   0.3175  0.0586       0.2210        0.456
    5     19       1   0.3016  0.0578       0.2071        0.439
    6     12       7   0.1905  0.0495       0.1145        0.317
    7      9       3   0.1429  0.0441       0.0780        0.262
    8      6       3   0.0952  0.0370       0.0445        0.204
    9      5       1   0.0794  0.0341       0.0342        0.184
   10      4       1   0.0635  0.0307       0.0246        0.164

                Campy=high 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    0     15       0   1.0000  0.0000       1.0000        1.000
    1      8       7   0.5333  0.1288       0.3322        0.856
    2      6       2   0.4000  0.1265       0.2152        0.743
    3      5       1   0.3333  0.1217       0.1630        0.682
    4      4       1   0.2667  0.1142       0.1152        0.617
    5      3       1   0.2000  0.1033       0.0727        0.550
    6      1       2   0.0667  0.0644       0.0100        0.443
    7      1       0   0.0667  0.0644       0.0100        0.443
    8      1       0   0.0667  0.0644       0.0100        0.443
    9      1       0   0.0667  0.0644       0.0100        0.443

The model above for the survival decomposed by Campy abundance strata (low versus high; i.e., Campy abundance greater than 0, the median) shows that time to death after surgery is between 1.44 to 3.17 years (median=1.91 years) for low abundance. The one year after surgery survival probability is .67 (95% CI, [.56, .79]). For individuals with high Campy abundance, the time to death after surgery is between 0.72 to 5.06 years (median=1.14 years) for high abundance. The one year after surgery survival probability is .53 (95% CI, [.33, .86]).

The LRT comparing the model with Campy to the baseline model was not significant (\(G^2(1)=0.8, p=0.40\)). Giving evidence that Campy (presence (high) versus absence (low)) did not significantly differentiate survival time in this sample.

With Covariates

f3.1 <- survfit(Surv(years, status_observed) ~ 1 + Campy + I(age > median(age) )+ female, data = full_dat)
f3.1# overall survival time
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Campy + 
    I(age > median(age)) + female, data = full_dat)

                                                  n events median 0.95LCL
Campy=low, I(age > median(age))=FALSE, female=0  23     23  2.908  1.2101
Campy=low, I(age > median(age))=FALSE, female=1   8      8  1.554  0.7173
Campy=low, I(age > median(age))=TRUE , female=0  27     26  3.170  1.4401
Campy=low, I(age > median(age))=TRUE , female=1   5      5  0.682  0.0438
Campy=high, I(age > median(age))=FALSE, female=0  7      7  0.723  0.5969
Campy=high, I(age > median(age))=FALSE, female=1  1      1  1.144      NA
Campy=high, I(age > median(age))=TRUE , female=0  7      6  4.055  0.7748
                                                 0.95UCL
Campy=low, I(age > median(age))=FALSE, female=0     5.82
Campy=low, I(age > median(age))=FALSE, female=1       NA
Campy=low, I(age > median(age))=TRUE , female=0     6.14
Campy=low, I(age > median(age))=TRUE , female=1       NA
Campy=high, I(age > median(age))=FALSE, female=0      NA
Campy=high, I(age > median(age))=FALSE, female=1      NA
Campy=high, I(age > median(age))=TRUE , female=0      NA
summary(f3.1, times = 1, extend=T) # survival probability at 1 year
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Campy + 
    I(age > median(age)) + female, data = full_dat)

                Campy=low, I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000      16.0000       7.0000       0.6957       0.0959       0.5309 
upper 95% CI 
      0.9116 

                Campy=low, I(age > median(age))=FALSE, female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        5.000        3.000        0.625        0.171        0.365 
upper 95% CI 
       1.000 

                Campy=low, I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000      20.0000       7.0000       0.7407       0.0843       0.5926 
upper 95% CI 
      0.9259 

                Campy=low, I(age > median(age))=TRUE , female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000       1.0000       4.0000       0.2000       0.1789       0.0346 
upper 95% CI 
      1.0000 

                Campy=high, I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000       2.0000       5.0000       0.2857       0.1707       0.0886 
upper 95% CI 
      0.9218 

                Campy=high, I(age > median(age))=FALSE, female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            1            0            1            0            1 
upper 95% CI 
           1 

                Campy=high, I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        5.000        2.000        0.714        0.171        0.447 
upper 95% CI 
       1.000 
summary(coxph(Surv(years, status_observed) ~ 1 + I(Campy == "high") + I(age > median(age)) + female, data = full_dat))
Call:
coxph(formula = Surv(years, status_observed) ~ 1 + I(Campy == 
    "high") + I(age > median(age)) + female, data = full_dat)

  n= 78, number of events= 76 

                           coef exp(coef) se(coef)     z Pr(>|z|)   
I(Campy == "high")TRUE    0.421     1.523    0.306  1.37   0.1695   
I(age > median(age))TRUE -0.216     0.806    0.246 -0.88   0.3807   
female                    1.047     2.850    0.334  3.14   0.0017 **
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

                         exp(coef) exp(-coef) lower .95 upper .95
I(Campy == "high")TRUE       1.523      0.657     0.836      2.78
I(age > median(age))TRUE     0.806      1.241     0.497      1.31
female                       2.850      0.351     1.481      5.48

Concordance= 0.601  (se = 0.034 )
Likelihood ratio test= 11.5  on 3 df,   p=0.009
Wald test            = 13.1  on 3 df,   p=0.005
Score (logrank) test = 14.1  on 3 df,   p=0.003

Prevo

f4 <- survfit(Surv(years, status_observed) ~ 1 + Prevo, data = full_dat)

ggsurvplot(
    fit = survfit(
      Surv(years, status_observed) ~ 1 + Prevo,
      data = full_dat,robust = T
    ),
    conf.int = T, 
    xlab = "Years", 
    ylab = "Overall survival probability")

f4# overall survival time
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Prevo, data = full_dat)

            n events median 0.95LCL 0.95UCL
Prevo=low  44     44  3.016   1.747    5.06
Prevo=high 34     32  0.949   0.695    2.83
summary(f4, times = 1) # survival probability at 1 year
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Prevo, data = full_dat)

                Prevo=low 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000      34.0000      10.0000       0.7727       0.0632       0.6583 
upper 95% CI 
      0.9070 

                Prevo=high 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000      16.0000      18.0000       0.4706       0.0856       0.3295 
upper 95% CI 
      0.6722 
summary(coxph(Surv(years, status_observed) ~ I(Prevo == "high"), data = full_dat))
Call:
coxph(formula = Surv(years, status_observed) ~ I(Prevo == "high"), 
    data = full_dat)

  n= 78, number of events= 76 

                        coef exp(coef) se(coef)    z Pr(>|z|)
I(Prevo == "high")TRUE 0.296     1.344    0.237 1.25     0.21

                       exp(coef) exp(-coef) lower .95 upper .95
I(Prevo == "high")TRUE      1.34      0.744     0.845      2.14

Concordance= 0.568  (se = 0.033 )
Likelihood ratio test= 1.54  on 1 df,   p=0.2
Wald test            = 1.56  on 1 df,   p=0.2
Score (logrank) test = 1.57  on 1 df,   p=0.2
# getting the number at risk over years 0:10
summary(f4, times = c(0:10))
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Prevo, data = full_dat)

                Prevo=low 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    0     44       0   1.0000  0.0000       1.0000        1.000
    1     34      10   0.7727  0.0632       0.6583        0.907
    2     25       9   0.5682  0.0747       0.4392        0.735
    3     22       3   0.5000  0.0754       0.3721        0.672
    4     17       5   0.3864  0.0734       0.2662        0.561
    5     15       2   0.3409  0.0715       0.2261        0.514
    6      8       7   0.1818  0.0581       0.0971        0.340
    7      6       2   0.1364  0.0517       0.0648        0.287
    8      3       3   0.0682  0.0380       0.0229        0.203
    9      3       0   0.0682  0.0380       0.0229        0.203
   10      2       1   0.0455  0.0314       0.0117        0.176

                Prevo=high 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    0     34       0   1.0000  0.0000       1.0000        1.000
    1     16      18   0.4706  0.0856       0.3295        0.672
    2     12       4   0.3529  0.0820       0.2239        0.556
    3     10       2   0.2941  0.0781       0.1747        0.495
    4      7       3   0.2059  0.0693       0.1064        0.398
    5      7       0   0.2059  0.0693       0.1064        0.398
    6      5       2   0.1471  0.0607       0.0655        0.330
    7      4       1   0.1176  0.0553       0.0469        0.295
    8      4       0   0.1176  0.0553       0.0469        0.295
    9      3       1   0.0882  0.0486       0.0299        0.260
   10      2       0   0.0882  0.0486       0.0299        0.260

The model above for the survival decomposed by Prevo abundance strata (low versus high; i.e., Prevo abundance greater than 1.2, the median) shows that time to death after surgery is between 1.75 to 5.06 years (median=3.02 years) for low abundance. The one year after surgery survival probability is .78 (95% CI, [.65, .91]). For individuals with high Prevo abundance, the time to death after surgery is between 0.70 to 2.83 years (median=0.95 years) for high abundance. The one year after surgery survival probability is .47 (95% CI, [.33, .67]).

The LRT comparing the model with Prevo to the baseline model was not significant (\(G^2(1)=2.0, p=0.20\)). Giving evidence that Prevo (presence (high) versus absence (low)) did not significantly differentiate survival time in this sample.

With covariates

f4.1 <- survfit(Surv(years, status_observed) ~ 1 + Prevo + I(age > median(age) )+ female, data = full_dat)
f4.1# overall survival time
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Prevo + 
    I(age > median(age)) + female, data = full_dat)

                                                  n events median 0.95LCL
Prevo=low, I(age > median(age))=FALSE, female=0  20     20 3.0157  1.7467
Prevo=low, I(age > median(age))=FALSE, female=1   5      5 1.6345  0.7173
Prevo=low, I(age > median(age))=TRUE , female=0  18     18 4.0205  1.5661
Prevo=low, I(age > median(age))=TRUE , female=1   1      1 0.0438      NA
Prevo=high, I(age > median(age))=FALSE, female=0 10     10 0.6858  0.5695
Prevo=high, I(age > median(age))=FALSE, female=1  4      4 1.3087  0.2683
Prevo=high, I(age > median(age))=TRUE , female=0 16     14 2.9432  0.6954
Prevo=high, I(age > median(age))=TRUE , female=1  4      4 0.7666  0.0192
                                                 0.95UCL
Prevo=low, I(age > median(age))=FALSE, female=0     5.82
Prevo=low, I(age > median(age))=FALSE, female=1       NA
Prevo=low, I(age > median(age))=TRUE , female=0     6.32
Prevo=low, I(age > median(age))=TRUE , female=1       NA
Prevo=high, I(age > median(age))=FALSE, female=0      NA
Prevo=high, I(age > median(age))=FALSE, female=1      NA
Prevo=high, I(age > median(age))=TRUE , female=0      NA
Prevo=high, I(age > median(age))=TRUE , female=1      NA
summary(f4.1, times = 1, extend=T) # survival probability at 1 year
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Prevo + 
    I(age > median(age)) + female, data = full_dat)

                Prevo=low, I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000      16.0000       4.0000       0.8000       0.0894       0.6426 
upper 95% CI 
      0.9960 

                Prevo=low, I(age > median(age))=FALSE, female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        3.000        2.000        0.600        0.219        0.293 
upper 95% CI 
       1.000 

                Prevo=low, I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000      15.0000       3.0000       0.8333       0.0878       0.6778 
upper 95% CI 
      1.0000 

                Prevo=low, I(age > median(age))=TRUE , female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            0            1            0          NaN           NA 
upper 95% CI 
          NA 

                Prevo=high, I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000       2.0000       8.0000       0.2000       0.1265       0.0579 
upper 95% CI 
      0.6908 

                Prevo=high, I(age > median(age))=FALSE, female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        3.000        1.000        0.750        0.217        0.426 
upper 95% CI 
       1.000 

                Prevo=high, I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000       10.000        6.000        0.625        0.121        0.428 
upper 95% CI 
       0.914 

                Prevo=high, I(age > median(age))=TRUE , female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000       1.0000       3.0000       0.2500       0.2165       0.0458 
upper 95% CI 
      1.0000 
summary(coxph(Surv(years, status_observed) ~ 1 + I(Prevo == "high") + I(age > median(age)) + female, data = full_dat))
Call:
coxph(formula = Surv(years, status_observed) ~ 1 + I(Prevo == 
    "high") + I(age > median(age)) + female, data = full_dat)

  n= 78, number of events= 76 

                           coef exp(coef) se(coef)     z Pr(>|z|)   
I(Prevo == "high")TRUE    0.268     1.307    0.254  1.05   0.2923   
I(age > median(age))TRUE -0.257     0.774    0.255 -1.00   0.3150   
female                    0.911     2.488    0.342  2.67   0.0076 **
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

                         exp(coef) exp(-coef) lower .95 upper .95
I(Prevo == "high")TRUE       1.307      0.765     0.794      2.15
I(age > median(age))TRUE     0.774      1.293     0.469      1.28
female                       2.488      0.402     1.273      4.86

Concordance= 0.626  (se = 0.032 )
Likelihood ratio test= 10.8  on 3 df,   p=0.01
Wald test            = 12.4  on 3 df,   p=0.006
Score (logrank) test = 13.4  on 3 df,   p=0.004

Combining Microbiome

f5 <- survfit(Surv(years, status_observed) ~ 1 + Fuso + Strept + Campy + Prevo, data = full_dat)

ggsurvplot(
    fit = survfit(
      Surv(years, status_observed) ~ 1 + Fuso + Strept + Campy + Prevo,
      data = full_dat,robust = T
    ),
    conf.int = T, 
    xlab = "Years", 
    ylab = "Overall survival probability")

f5# overall survival time
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Fuso + Strept + 
    Campy + Prevo, data = full_dat)

                                                n events median 0.95LCL 0.95UCL
Fuso=low, Strept=low , Campy=low , Prevo=low   13     13  2.908   0.882      NA
Fuso=low, Strept=low , Campy=low , Prevo=high   4      3  2.867   0.107      NA
Fuso=low, Strept=low , Campy=high, Prevo=low    2      2  3.265   1.240      NA
Fuso=low, Strept=low , Campy=high, Prevo=high   1      1  0.649      NA      NA
Fuso=low, Strept=high, Campy=low , Prevo=low   17     17  3.986   1.634    6.32
Fuso=low, Strept=high, Campy=low , Prevo=high   9      9  0.851   0.624      NA
Fuso=low, Strept=high, Campy=high, Prevo=high   2      2  1.812   0.920      NA
Fuso=high, Strept=low , Campy=low , Prevo=low   6      6  1.611   0.717      NA
Fuso=high, Strept=low , Campy=low , Prevo=high  3      3  0.898   0.682      NA
Fuso=high, Strept=low , Campy=high, Prevo=high  6      5  1.892   0.597      NA
Fuso=high, Strept=high, Campy=low , Prevo=low   4      4  3.829   2.494      NA
Fuso=high, Strept=high, Campy=low , Prevo=high  7      7  1.153   0.569      NA
Fuso=high, Strept=high, Campy=high, Prevo=low   2      2  2.415   0.775      NA
Fuso=high, Strept=high, Campy=high, Prevo=high  2      2  0.726   0.307      NA
summary(f5, times = 1, extend=T) # survival probability at 1 year
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Fuso + Strept + 
    Campy + Prevo, data = full_dat)

                Fuso=low, Strept=low , Campy=low , Prevo=low  
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        9.000        4.000        0.692        0.128        0.482 
upper 95% CI 
       0.995 

                Fuso=low, Strept=low , Campy=low , Prevo=high 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        2.000        2.000        0.500        0.250        0.188 
upper 95% CI 
       1.000 

                Fuso=low, Strept=low , Campy=high, Prevo=low  
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            2            0            1            0            1 
upper 95% CI 
           1 

                Fuso=low, Strept=low , Campy=high, Prevo=high 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            0            1            0          NaN           NA 
upper 95% CI 
          NA 

                Fuso=low, Strept=high, Campy=low , Prevo=low  
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000      14.0000       3.0000       0.8235       0.0925       0.6609 
upper 95% CI 
      1.0000 

                Fuso=low, Strept=high, Campy=low , Prevo=high 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        4.000        5.000        0.444        0.166        0.214 
upper 95% CI 
       0.923 

                Fuso=low, Strept=high, Campy=high, Prevo=high 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        1.000        1.000        0.500        0.354        0.125 
upper 95% CI 
       1.000 

                Fuso=high, Strept=low , Campy=low , Prevo=low  
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        4.000        2.000        0.667        0.192        0.379 
upper 95% CI 
       1.000 

                Fuso=high, Strept=low , Campy=low , Prevo=high 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000       1.0000       2.0000       0.3333       0.2722       0.0673 
upper 95% CI 
      1.0000 

                Fuso=high, Strept=low , Campy=high, Prevo=high 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        3.000        3.000        0.500        0.204        0.225 
upper 95% CI 
       1.000 

                Fuso=high, Strept=high, Campy=low , Prevo=low  
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            4            0            1            0            1 
upper 95% CI 
           1 

                Fuso=high, Strept=high, Campy=low , Prevo=high 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        4.000        3.000        0.571        0.187        0.301 
upper 95% CI 
       1.000 

                Fuso=high, Strept=high, Campy=high, Prevo=low  
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        1.000        1.000        0.500        0.354        0.125 
upper 95% CI 
       1.000 

                Fuso=high, Strept=high, Campy=high, Prevo=high 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        1.000        1.000        0.500        0.354        0.125 
upper 95% CI 
       1.000 
summary(coxph(Surv(years, status_observed) ~ I(Fuso == "high")+I(Strept == "high")+I(Campy == "high")+I(Prevo == "high"), data = full_dat))
Call:
coxph(formula = Surv(years, status_observed) ~ I(Fuso == "high") + 
    I(Strept == "high") + I(Campy == "high") + I(Prevo == "high"), 
    data = full_dat)

  n= 78, number of events= 76 

                          coef exp(coef) se(coef)    z Pr(>|z|)
I(Fuso == "high")TRUE   0.0358    1.0364   0.2568 0.14     0.89
I(Strept == "high")TRUE 0.2081    1.2313   0.2448 0.85     0.40
I(Campy == "high")TRUE  0.2219    1.2484   0.3322 0.67     0.50
I(Prevo == "high")TRUE  0.2606    1.2978   0.2505 1.04     0.30

                        exp(coef) exp(-coef) lower .95 upper .95
I(Fuso == "high")TRUE        1.04      0.965     0.627      1.71
I(Strept == "high")TRUE      1.23      0.812     0.762      1.99
I(Campy == "high")TRUE       1.25      0.801     0.651      2.39
I(Prevo == "high")TRUE       1.30      0.771     0.794      2.12

Concordance= 0.555  (se = 0.036 )
Likelihood ratio test= 2.57  on 4 df,   p=0.6
Wald test            = 2.59  on 4 df,   p=0.6
Score (logrank) test = 2.61  on 4 df,   p=0.6

The model above for the survival decomposed by Prevo abundance strata (low versus high; i.e., Prevo abundance greater than 1.2, the median) shows that time to death after surgery is between 1.75 to 5.06 years (median=3.02 years) for low abundance. The one year after surgery survival probability is .78 (95% CI, [.65, .91]). For individuals with high Prevo abundance, the time to death after surgery is between 0.70 to 2.83 years (median=0.95 years) for high abundance. The one year after surgery survival probability is .47 (95% CI, [.33, .67]).

The LRT comparing the model with Prevo to the baseline model was not significant (\(G^2(1)=2.0, p=0.20\)). Giving evidence that Prevo (presence (high) versus absence (low)) did not significantly differentiate survival time in this sample.

With covariates

f5.1 <- survfit(Surv(years, status_observed) ~ 1 + Fuso + Strept + Campy + Prevo + I(age > median(age) )+ female, data = full_dat)
f5.1# overall survival time
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Fuso + Strept + 
    Campy + Prevo + I(age > median(age)) + female, data = full_dat)

                                                                                     n
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0  9
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1  1
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0  2
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=1  1
Fuso=low, Strept=low , Campy=low , Prevo=high, I(age > median(age))=FALSE, female=1  1
Fuso=low, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0  3
Fuso=low, Strept=low , Campy=high, Prevo=low , I(age > median(age))=FALSE, female=0  1
Fuso=low, Strept=low , Campy=high, Prevo=low , I(age > median(age))=TRUE , female=0  1
Fuso=low, Strept=low , Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0  1
Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0  7
Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1  1
Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0  9
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=0  2
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=1  2
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0  3
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1  2
Fuso=low, Strept=high, Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0  2
Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0 1
Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1 2
Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0 3
Fuso=high, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0 2
Fuso=high, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1 1
Fuso=high, Strept=low , Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0 3
Fuso=high, Strept=low , Campy=high, Prevo=high, I(age > median(age))=TRUE , female=0 3
Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0 2
Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1 1
Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0 1
Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=0 2
Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0 4
Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1 1
Fuso=high, Strept=high, Campy=high, Prevo=low , I(age > median(age))=TRUE , female=0 2
Fuso=high, Strept=high, Campy=high, Prevo=high, I(age > median(age))=FALSE, female=1 1
Fuso=high, Strept=high, Campy=high, Prevo=high, I(age > median(age))=TRUE , female=0 1
                                                                                     events
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0       9
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1       1
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0       2
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=1       1
Fuso=low, Strept=low , Campy=low , Prevo=high, I(age > median(age))=FALSE, female=1       1
Fuso=low, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0       2
Fuso=low, Strept=low , Campy=high, Prevo=low , I(age > median(age))=FALSE, female=0       1
Fuso=low, Strept=low , Campy=high, Prevo=low , I(age > median(age))=TRUE , female=0       1
Fuso=low, Strept=low , Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0       1
Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0       7
Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1       1
Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0       9
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=0       2
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=1       2
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0       3
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1       2
Fuso=low, Strept=high, Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0       2
Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0      1
Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1      2
Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0      3
Fuso=high, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0      2
Fuso=high, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1      1
Fuso=high, Strept=low , Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0      3
Fuso=high, Strept=low , Campy=high, Prevo=high, I(age > median(age))=TRUE , female=0      2
Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0      2
Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1      1
Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0      1
Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=0      2
Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0      4
Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1      1
Fuso=high, Strept=high, Campy=high, Prevo=low , I(age > median(age))=TRUE , female=0      2
Fuso=high, Strept=high, Campy=high, Prevo=high, I(age > median(age))=FALSE, female=1      1
Fuso=high, Strept=high, Campy=high, Prevo=high, I(age > median(age))=TRUE , female=0      1
                                                                                      median
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0   3.1239
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1   0.0794
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0   2.1643
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=1   0.0438
Fuso=low, Strept=low , Campy=low , Prevo=high, I(age > median(age))=FALSE, female=1   0.2683
Fuso=low, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0   5.4648
Fuso=low, Strept=low , Campy=high, Prevo=low , I(age > median(age))=FALSE, female=0   1.2402
Fuso=low, Strept=low , Campy=high, Prevo=low , I(age > median(age))=TRUE , female=0   5.2895
Fuso=low, Strept=low , Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0   0.6489
Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0   1.7467
Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1   1.6345
Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0   5.3607
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=0   3.2854
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=1   2.3066
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0   0.6954
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1   0.4353
Fuso=low, Strept=high, Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0   1.8125
Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0  9.0267
Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1  1.2498
Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0  1.4401
Fuso=high, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0  5.4962
Fuso=high, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1  0.6817
Fuso=high, Strept=low , Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0  0.5969
Fuso=high, Strept=low , Campy=high, Prevo=high, I(age > median(age))=TRUE , female=0  5.0623
Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0  3.8289
Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1  2.4942
Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0 14.7844
Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=0  0.7734
Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0  1.9890
Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1  1.8535
Fuso=high, Strept=high, Campy=high, Prevo=low , I(age > median(age))=TRUE , female=0  2.4148
Fuso=high, Strept=high, Campy=high, Prevo=high, I(age > median(age))=FALSE, female=1  1.1444
Fuso=high, Strept=high, Campy=high, Prevo=high, I(age > median(age))=TRUE , female=0  0.3066
                                                                                     0.95LCL
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0   2.2724
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1       NA
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0   1.1581
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=1       NA
Fuso=low, Strept=low , Campy=low , Prevo=high, I(age > median(age))=FALSE, female=1       NA
Fuso=low, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0   0.1068
Fuso=low, Strept=low , Campy=high, Prevo=low , I(age > median(age))=FALSE, female=0       NA
Fuso=low, Strept=low , Campy=high, Prevo=low , I(age > median(age))=TRUE , female=0       NA
Fuso=low, Strept=low , Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0       NA
Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0   0.6653
Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1       NA
Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0   3.9863
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=0   0.1232
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=1   1.4730
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0   0.6242
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1   0.0192
Fuso=low, Strept=high, Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0   0.9199
Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0      NA
Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1  0.7173
Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0  0.0192
Fuso=high, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0  0.8980
Fuso=high, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1      NA
Fuso=high, Strept=low , Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0  0.3669
Fuso=high, Strept=low , Campy=high, Prevo=high, I(age > median(age))=TRUE , female=0  3.0609
Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0  3.1376
Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1      NA
Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0      NA
Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=0  0.5695
Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0  0.1232
Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1      NA
Fuso=high, Strept=high, Campy=high, Prevo=low , I(age > median(age))=TRUE , female=0  0.7748
Fuso=high, Strept=high, Campy=high, Prevo=high, I(age > median(age))=FALSE, female=1      NA
Fuso=high, Strept=high, Campy=high, Prevo=high, I(age > median(age))=TRUE , female=0      NA
                                                                                     0.95UCL
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0       NA
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1       NA
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0       NA
Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=1       NA
Fuso=low, Strept=low , Campy=low , Prevo=high, I(age > median(age))=FALSE, female=1       NA
Fuso=low, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0       NA
Fuso=low, Strept=low , Campy=high, Prevo=low , I(age > median(age))=FALSE, female=0       NA
Fuso=low, Strept=low , Campy=high, Prevo=low , I(age > median(age))=TRUE , female=0       NA
Fuso=low, Strept=low , Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0       NA
Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0       NA
Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1       NA
Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0       NA
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=0       NA
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=1       NA
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0       NA
Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1       NA
Fuso=low, Strept=high, Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0       NA
Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0      NA
Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1      NA
Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0      NA
Fuso=high, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0      NA
Fuso=high, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1      NA
Fuso=high, Strept=low , Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0      NA
Fuso=high, Strept=low , Campy=high, Prevo=high, I(age > median(age))=TRUE , female=0      NA
Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0      NA
Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1      NA
Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0      NA
Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=0      NA
Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0      NA
Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1      NA
Fuso=high, Strept=high, Campy=high, Prevo=low , I(age > median(age))=TRUE , female=0      NA
Fuso=high, Strept=high, Campy=high, Prevo=high, I(age > median(age))=FALSE, female=1      NA
Fuso=high, Strept=high, Campy=high, Prevo=high, I(age > median(age))=TRUE , female=0      NA
summary(f5.1, times = 1, extend=T) # survival probability at 1 year
Call: survfit(formula = Surv(years, status_observed) ~ 1 + Fuso + Strept + 
    Campy + Prevo + I(age > median(age)) + female, data = full_dat)

                Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        7.000        2.000        0.778        0.139        0.549 
upper 95% CI 
       1.000 

                Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            0            1            0          NaN           NA 
upper 95% CI 
          NA 

                Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            2            0            1            0            1 
upper 95% CI 
           1 

                Fuso=low, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            0            1            0          NaN           NA 
upper 95% CI 
          NA 

                Fuso=low, Strept=low , Campy=low , Prevo=high, I(age > median(age))=FALSE, female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            0            1            0          NaN           NA 
upper 95% CI 
          NA 

                Fuso=low, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        2.000        1.000        0.667        0.272        0.300 
upper 95% CI 
       1.000 

                Fuso=low, Strept=low , Campy=high, Prevo=low , I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            1            0            1            0            1 
upper 95% CI 
           1 

                Fuso=low, Strept=low , Campy=high, Prevo=low , I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            1            0            1            0            1 
upper 95% CI 
           1 

                Fuso=low, Strept=low , Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            0            1            0          NaN           NA 
upper 95% CI 
          NA 

                Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        5.000        2.000        0.714        0.171        0.447 
upper 95% CI 
       1.000 

                Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            1            0            1            0            1 
upper 95% CI 
           1 

                Fuso=low, Strept=high, Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        8.000        1.000        0.889        0.105        0.706 
upper 95% CI 
       1.000 

                Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        1.000        1.000        0.500        0.354        0.125 
upper 95% CI 
       1.000 

                Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            2            0            1            0            1 
upper 95% CI 
           1 

                Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
      1.0000       1.0000       2.0000       0.3333       0.2722       0.0673 
upper 95% CI 
      1.0000 

                Fuso=low, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            0            2            0          NaN           NA 
upper 95% CI 
          NA 

                Fuso=low, Strept=high, Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        1.000        1.000        0.500        0.354        0.125 
upper 95% CI 
       1.000 

                Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            1            0            1            0            1 
upper 95% CI 
           1 

                Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        1.000        1.000        0.500        0.354        0.125 
upper 95% CI 
       1.000 

                Fuso=high, Strept=low , Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        2.000        1.000        0.667        0.272        0.300 
upper 95% CI 
       1.000 

                Fuso=high, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        1.000        1.000        0.500        0.354        0.125 
upper 95% CI 
       1.000 

                Fuso=high, Strept=low , Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            0            1            0          NaN           NA 
upper 95% CI 
          NA 

                Fuso=high, Strept=low , Campy=high, Prevo=high, I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            0            3            0          NaN           NA 
upper 95% CI 
          NA 

                Fuso=high, Strept=low , Campy=high, Prevo=high, I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            3            0            1            0            1 
upper 95% CI 
           1 

                Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            2            0            1            0            1 
upper 95% CI 
           1 

                Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=FALSE, female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            1            0            1            0            1 
upper 95% CI 
           1 

                Fuso=high, Strept=high, Campy=low , Prevo=low , I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            1            0            1            0            1 
upper 95% CI 
           1 

                Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=FALSE, female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            0            2            0          NaN           NA 
upper 95% CI 
          NA 

                Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        3.000        1.000        0.750        0.217        0.426 
upper 95% CI 
       1.000 

                Fuso=high, Strept=high, Campy=low , Prevo=high, I(age > median(age))=TRUE , female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            1            0            1            0            1 
upper 95% CI 
           1 

                Fuso=high, Strept=high, Campy=high, Prevo=low , I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
       1.000        1.000        1.000        0.500        0.354        0.125 
upper 95% CI 
       1.000 

                Fuso=high, Strept=high, Campy=high, Prevo=high, I(age > median(age))=FALSE, female=1 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            1            0            1            0            1 
upper 95% CI 
           1 

                Fuso=high, Strept=high, Campy=high, Prevo=high, I(age > median(age))=TRUE , female=0 
        time       n.risk      n.event     survival      std.err lower 95% CI 
           1            0            1            0          NaN           NA 
upper 95% CI 
          NA 
summary(coxph(Surv(years, status_observed) ~ 1 + I(Fuso == "high")+I(Strept == "high")+I(Campy == "high")+I(Prevo == "high") + I(age > median(age)) + female, data = full_dat))
Call:
coxph(formula = Surv(years, status_observed) ~ 1 + I(Fuso == 
    "high") + I(Strept == "high") + I(Campy == "high") + I(Prevo == 
    "high") + I(age > median(age)) + female, data = full_dat)

  n= 78, number of events= 76 

                             coef exp(coef) se(coef)     z Pr(>|z|)   
I(Fuso == "high")TRUE     0.00436   1.00437  0.26466  0.02   0.9868   
I(Strept == "high")TRUE   0.13816   1.14816  0.25049  0.55   0.5812   
I(Campy == "high")TRUE    0.38151   1.46450  0.34119  1.12   0.2635   
I(Prevo == "high")TRUE    0.18603   1.20445  0.26522  0.70   0.4831   
I(age > median(age))TRUE -0.27924   0.75636  0.26188 -1.07   0.2863   
female                    0.93979   2.55945  0.36239  2.59   0.0095 **
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

                         exp(coef) exp(-coef) lower .95 upper .95
I(Fuso == "high")TRUE        1.004      0.996     0.598      1.69
I(Strept == "high")TRUE      1.148      0.871     0.703      1.88
I(Campy == "high")TRUE       1.465      0.683     0.750      2.86
I(Prevo == "high")TRUE       1.204      0.830     0.716      2.03
I(age > median(age))TRUE     0.756      1.322     0.453      1.26
female                       2.559      0.391     1.258      5.21

Concordance= 0.622  (se = 0.033 )
Likelihood ratio test= 12.2  on 6 df,   p=0.06
Wald test            = 14  on 6 df,   p=0.03
Score (logrank) test = 15.1  on 6 df,   p=0.02

sessionInfo()
R version 4.0.5 (2021-03-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19042)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.1252 
[2] LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] lubridate_1.7.10  survminer_0.4.9   ggpubr_0.4.0      rms_6.2-0        
 [5] SparseM_1.81      Hmisc_4.5-0       Formula_1.2-4     survival_3.2-10  
 [9] cowplot_1.1.1     dendextend_1.14.0 ggdendro_0.1.22   reshape2_1.4.4   
[13] car_3.0-10        carData_3.0-4     gvlma_1.0.0.3     patchwork_1.1.1  
[17] viridis_0.5.1     viridisLite_0.3.0 gridExtra_2.3     xtable_1.8-4     
[21] kableExtra_1.3.4  MASS_7.3-53.1     data.table_1.14.0 readxl_1.3.1     
[25] forcats_0.5.1     stringr_1.4.0     dplyr_1.0.5       purrr_0.3.4      
[29] readr_1.4.0       tidyr_1.1.3       tibble_3.1.0      ggplot2_3.3.3    
[33] tidyverse_1.3.0   lmerTest_3.1-3    lme4_1.1-26       Matrix_1.3-2     
[37] vegan_2.5-7       lattice_0.20-41   permute_0.9-5     phyloseq_1.34.0  
[41] workflowr_1.6.2  

loaded via a namespace (and not attached):
  [1] utf8_1.1.4          tidyselect_1.1.0    htmlwidgets_1.5.3  
  [4] grid_4.0.5          munsell_0.5.0       codetools_0.2-18   
  [7] statmod_1.4.35      withr_2.4.1         colorspace_2.0-0   
 [10] Biobase_2.50.0      highr_0.8           knitr_1.31         
 [13] rstudioapi_0.13     stats4_4.0.5        ggsignif_0.6.1     
 [16] labeling_0.4.2      git2r_0.28.0        KMsurv_0.1-5       
 [19] farver_2.1.0        rhdf5_2.34.0        rprojroot_2.0.2    
 [22] vctrs_0.3.6         generics_0.1.0      TH.data_1.0-10     
 [25] xfun_0.21           R6_2.5.0            rhdf5filters_1.2.0 
 [28] assertthat_0.2.1    promises_1.2.0.1    scales_1.1.1       
 [31] multcomp_1.4-16     nnet_7.3-15         gtable_0.3.0       
 [34] conquer_1.0.2       sandwich_3.0-0      rlang_0.4.10       
 [37] MatrixModels_0.5-0  systemfonts_1.0.1   splines_4.0.5      
 [40] rstatix_0.7.0       broom_0.7.5         checkmate_2.0.0    
 [43] BiocManager_1.30.10 yaml_2.2.1          abind_1.4-5        
 [46] modelr_0.1.8        backports_1.2.1     httpuv_1.5.5       
 [49] tools_4.0.5         ellipsis_0.3.1      jquerylib_0.1.3    
 [52] biomformat_1.18.0   RColorBrewer_1.1-2  BiocGenerics_0.36.0
 [55] Rcpp_1.0.7          plyr_1.8.6          base64enc_0.1-3    
 [58] progress_1.2.2      zlibbioc_1.36.0     ps_1.6.0           
 [61] prettyunits_1.1.1   rpart_4.1-15        S4Vectors_0.28.1   
 [64] zoo_1.8-9           haven_2.3.1         cluster_2.1.1      
 [67] fs_1.5.0            magrittr_2.0.1      openxlsx_4.2.3     
 [70] reprex_1.0.0        mvtnorm_1.1-1       matrixStats_0.58.0 
 [73] hms_1.0.0           evaluate_0.14       rio_0.5.26         
 [76] jpeg_0.1-8.1        IRanges_2.24.1      compiler_4.0.5     
 [79] crayon_1.4.1        minqa_1.2.4         htmltools_0.5.1.1  
 [82] mgcv_1.8-34         later_1.1.0.1       DBI_1.1.1          
 [85] dbplyr_2.1.0        boot_1.3-27         ade4_1.7-16        
 [88] cli_2.3.1           parallel_4.0.5      igraph_1.2.6       
 [91] km.ci_0.5-2         pkgconfig_2.0.3     numDeriv_2016.8-1.1
 [94] foreign_0.8-81      xml2_1.3.2          foreach_1.5.1      
 [97] svglite_2.0.0       bslib_0.2.4         multtest_2.46.0    
[100] webshot_0.5.2       XVector_0.30.0      rvest_1.0.0        
[103] digest_0.6.27       Biostrings_2.58.0   rmarkdown_2.7      
[106] cellranger_1.1.0    survMisc_0.5.5      htmlTable_2.1.0    
[109] curl_4.3            quantreg_5.85       nloptr_1.2.2.2     
[112] lifecycle_1.0.0     nlme_3.1-152        jsonlite_1.7.2     
[115] Rhdf5lib_1.12.1     fansi_0.4.2         pillar_1.5.1       
[118] httr_1.4.2          glue_1.4.2          zip_2.1.1          
[121] png_0.1-7           iterators_1.0.13    stringi_1.5.3      
[124] sass_0.3.1          polspline_1.1.19    latticeExtra_0.6-29
[127] ape_5.4-1