Importing data in to Rstudio below

Importin csv getwd()

#  Important packages to load in
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(gtsummary)
library(survival)
library(labelled)
library(tidyverse)
## ── Attaching packages ────────────────────────────────────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.3.3     ✓ purrr   0.3.4
## ✓ tibble  3.0.3     ✓ stringr 1.4.0
## ✓ tidyr   1.1.1     ✓ forcats 0.5.0
## ✓ readr   1.3.1
## ── Conflicts ───────────────────────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(broom)
library(ggplot2)
library(survminer)
## Loading required package: ggpubr
library(VIM)
## Loading required package: colorspace
## Loading required package: grid
## VIM is ready to use.
## Suggestions and bug-reports can be submitted at: https://github.com/statistikat/VIM/issues
## 
## Attaching package: 'VIM'
## The following object is masked from 'package:datasets':
## 
##     sleep
library(fastmap)
PreopNeoPaper <- read.csv ("Majid.csv", header = TRUE, sep = "," )
#### Subsetting cleaned data from one dataframe to a new dataframe
PreopNeoPaperDemotable <- 
  PreopNeoPaper %>%
  select(Single.vs.Multi.Agent, AGE, SEX, RACE.2, INSURANCE_STATUS.2, MED_INC_QUAR_12, NO_HSD_QUAR_12, Population.density, Charlson.Deyo.Score, TNM_CLIN_T, TNM_CLIN_N, TNM_PATH_T, TNM_PATH_N,  ANALYTIC_STAGE_GROUP, GRADE.2, RX_SUMM_SURG_PRIM_SITE.2.2, Margins, Downstaging, DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS.2)
PreopXRTOddsratio <- 
  PreopNeoPaper %>%
  select(Single.vs.Multi.Agent, AGE, SEX, RACE.2, INSURANCE_STATUS.2, MED_INC_QUAR_12, NO_HSD_QUAR_12, Population.density, Charlson.Deyo.Score, TNM_CLIN_T, TNM_CLIN_N, TNM_PATH_T, TNM_PATH_N,  ANALYTIC_STAGE_GROUP, GRADE.2, RX_SUMM_SURG_PRIM_SITE.2.2, Margins, Downstaging, DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS.2)
### Preopneopaperdemotable changing columns singlevsmultiagent from numbers back to characters
PreopNeoPaperDemotable$Single.vs.Multi.Agent[PreopNeoPaperDemotable$Single.vs.Multi.Agent == 1 ] <- "Preop XRT"
PreopNeoPaperDemotable$Single.vs.Multi.Agent[PreopNeoPaperDemotable$Single.vs.Multi.Agent ==0] <- "Neo Multiagent Chemo"
PreopNeoPaperDemotable$Single.vs.Multi.Agent <- as.character(PreopNeoPaperDemotable$Single.vs.Multi.Agent)
#Final Step to create demographic table
PreopNeoPaperDemotable %>%
  tbl_summary(
    by = Single.vs.Multi.Agent,
    digits = all_continuous() ~ 2,) %>%
  add_p(pvalue_fun = ~style_pvalue(.x, digits = 2))%>%
  bold_p() %>%
  add_overall() %>%
  modify_header(label ~ "**Variables**") %>%
  modify_spanning_header(c("stat_0", "stat_1") ~ "**Neo Multiagent vs Preop XRT**") %>%
  bold_labels() 
## There was an error in 'add_p()' for variable 'MED_INC_QUAR_12', p-value omitted:
## Error in stats::fisher.test(data[[variable]], as.factor(data[[by]])): FEXACT error 6.  LDKEY=573 is too small for this problem,
##   (ii := key2[itp=464] = 7072428, ldstp=17190)
## Try increasing the size of the workspace and possibly 'mult'
## There was an error in 'add_p()' for variable 'NO_HSD_QUAR_12', p-value omitted:
## Error in stats::fisher.test(data[[variable]], as.factor(data[[by]])): FEXACT error 6.  LDKEY=573 is too small for this problem,
##   (ii := key2[itp=357] = 7254535, ldstp=17190)
## Try increasing the size of the workspace and possibly 'mult'
## There was an error in 'add_p()' for variable 'TNM_CLIN_T', p-value omitted:
## Error in stats::fisher.test(data[[variable]], as.factor(data[[by]])): FEXACT error 7(location). LDSTP=17190 is too small for this problem,
##   (pastp=416.845, ipn_0:=ipoin[itp=276]=10232, stp[ipn_0]=414.452).
## Increase workspace or consider using 'simulate.p.value=TRUE'
## There was an error in 'add_p()' for variable 'TNM_PATH_T', p-value omitted:
## Error in stats::fisher.test(data[[variable]], as.factor(data[[by]])): FEXACT error 7(location). LDSTP=17190 is too small for this problem,
##   (pastp=233.544, ipn_0:=ipoin[itp=526]=5400, stp[ipn_0]=178.686).
## Increase workspace or consider using 'simulate.p.value=TRUE'
Variables Neo Multiagent vs Preop XRT PreOp Multiagent, N = 6,2971 p-value2
Overall, N = 7,8521 Pre Op XRT, N = 1,5551
AGE 64.00 (57.00, 70.00) 65.00 (58.00, 72.00) 64.00 (57.00, 70.00) <0.001
SEX 0.71
Female 3,832 (49%) 766 (49%) 3,066 (49%)
Male 4,020 (51%) 789 (51%) 3,231 (51%)
RACE.2 <0.001
Black 687 (8.7%) 186 (12%) 501 (8.0%)
Other 292 (3.7%) 38 (2.4%) 254 (4.0%)
White 6,873 (88%) 1,331 (86%) 5,542 (88%)
INSURANCE_STATUS.2 <0.001
Medicaid 359 (4.6%) 75 (4.8%) 284 (4.5%)
Medicare 3,517 (45%) 731 (47%) 2,786 (44%)
Not Insured 121 (1.5%) 36 (2.3%) 85 (1.3%)
Private Insurance/Managed Care/Goverment 3,746 (48%) 680 (44%) 3,066 (49%)
Unknown 109 (1.4%) 33 (2.1%) 76 (1.2%)
MED_INC_QUAR_12
24 (0.3%) 4 (0.3%) 20 (0.3%)
< $38,000 1,076 (14%) 270 (17%) 806 (13%)
>=$63,000 2,736 (35%) 473 (30%) 2,263 (36%)
$38,000-$47,999 1,799 (23%) 379 (24%) 1,420 (23%)
$48,000-$62,999 2,217 (28%) 429 (28%) 1,788 (28%)
NO_HSD_QUAR_12
20 (0.3%) 3 (0.2%) 17 (0.3%)
<7.0% 2,293 (29%) 395 (25%) 1,898 (30%)
>=21.0% 912 (12%) 212 (14%) 700 (11%)
13.0-20.9% 1,795 (23%) 393 (25%) 1,402 (22%)
7.0-12.9% 2,832 (36%) 552 (35%) 2,280 (36%)
Population.density 0.17
Metro 6,284 (80%) 1,230 (79%) 5,054 (80%)
Rural 138 (1.8%) 23 (1.5%) 115 (1.8%)
Unknown 204 (2.6%) 35 (2.3%) 169 (2.7%)
Urban 1,226 (16%) 267 (17%) 959 (15%)
Charlson.Deyo.Score <0.001
>=3 168 (2.1%) 30 (1.9%) 138 (2.2%)
0 5,242 (67%) 971 (62%) 4,271 (68%)
1 2,019 (26%) 446 (29%) 1,573 (25%)
2 423 (5.4%) 108 (6.9%) 315 (5.0%)
TNM_CLIN_T
98 (1.2%) 19 (1.2%) 79 (1.3%)
c0 3 (<0.1%) 1 (<0.1%) 2 (<0.1%)
c1 423 (5.4%) 105 (6.8%) 318 (5.1%)
c2 1,959 (25%) 392 (25%) 1,567 (25%)
c3 3,786 (48%) 726 (47%) 3,060 (49%)
c4 1,191 (15%) 207 (13%) 984 (16%)
cX 392 (5.0%) 105 (6.8%) 287 (4.6%)
TNM_CLIN_N 0.001
100 (1.3%) 21 (1.4%) 79 (1.3%)
c0 5,134 (65%) 1,003 (65%) 4,131 (66%)
c1 2,195 (28%) 416 (27%) 1,779 (28%)
cX 423 (5.4%) 115 (7.4%) 308 (4.9%)
TNM_PATH_T
245 (3.1%) 62 (4.0%) 183 (2.9%)
p0 234 (3.0%) 37 (2.4%) 197 (3.1%)
p1 879 (11%) 172 (11%) 707 (11%)
p2 811 (10%) 212 (14%) 599 (9.5%)
p3 4,720 (60%) 777 (50%) 3,943 (63%)
p4 216 (2.8%) 41 (2.6%) 175 (2.8%)
pIS 25 (0.3%) 5 (0.3%) 20 (0.3%)
pX 722 (9.2%) 249 (16%) 473 (7.5%)
TNM_PATH_N <0.001
248 (3.2%) 61 (3.9%) 187 (3.0%)
p0 3,639 (46%) 792 (51%) 2,847 (45%)
p1 3,282 (42%) 458 (29%) 2,824 (45%)
pX 683 (8.7%) 244 (16%) 439 (7.0%)
ANALYTIC_STAGE_GROUP <0.001
AJCC Stage Group unknown 94 (1.2%) 27 (1.7%) 67 (1.1%)
Stage 0 74 (0.9%) 20 (1.3%) 54 (0.9%)
Stage I 1,470 (19%) 370 (24%) 1,100 (17%)
Stage II 5,747 (73%) 1,045 (67%) 4,702 (75%)
Stage III 467 (5.9%) 93 (6.0%) 374 (5.9%)
GRADE.2 <0.001
Moderately differentiated 2,570 (33%) 571 (37%) 1,999 (32%)
Poorly differentiated 1,537 (20%) 348 (22%) 1,189 (19%)
Unknown 3,187 (41%) 500 (32%) 2,687 (43%)
Well differentiated, differentiated 558 (7.1%) 136 (8.7%) 422 (6.7%)
RX_SUMM_SURG_PRIM_SITE.2.2 0.016
Pancreatectomy, NOS 79 (1.0%) 17 (1.1%) 62 (1.0%)
Partial pancreatectomy, distal 894 (11%) 146 (9.4%) 748 (12%)
Total 1,061 (14%) 234 (15%) 827 (13%)
Whipple 5,818 (74%) 1,158 (74%) 4,660 (74%)
Margins 0.11
R1 780 (9.9%) 140 (9.0%) 640 (10%)
R2 32 (0.4%) 10 (0.6%) 22 (0.3%)
Ro 6,323 (81%) 1,275 (82%) 5,048 (80%)
Unknown 717 (9.1%) 130 (8.4%) 587 (9.3%)
Downstaging <0.001
No 928 (12%) 127 (8.2%) 801 (13%)
Unknown 2,683 (34%) 549 (35%) 2,134 (34%)
Yes 4,241 (54%) 879 (57%) 3,362 (53%)
DX_LASTCONTACT_DEATH_MONTHS 23.00 (14.50, 36.07) 21.88 (12.65, 38.38) 23.20 (15.11, 35.75) 0.012
Unknown 1,566 80 1,486
PUF_VITAL_STATUS.2 2,201 (35%) 320 (22%) 1,881 (39%) <0.001
Unknown 1,565 80 1,485

1 Statistics presented: Median (IQR); n (%)

2 Statistical tests performed: Wilcoxon rank-sum test; chi-square test of independence

### Recoding No High School degree from blanks to unknown
PreopNeoPaper$NO_HSD_QUAR_12[PreopNeoPaper$NO_HSD_QUAR_12 ==""] <- "Unknown"

##Recoding Data within TNM Clin T
PreopNeoPaper$TNM_CLIN_T[PreopNeoPaper$TNM_CLIN_T ==""] <- "Unknown"
PreopNeoPaper$TNM_CLIN_T[PreopNeoPaper$TNM_CLIN_T =="c0"] <- "Unknown"
PreopNeoPaper$TNM_CLIN_T[PreopNeoPaper$TNM_CLIN_T == "cX"] <- "Unknown"

##Recoding Data within TNM Clin N
PreopNeoPaper$TNM_CLIN_N[PreopNeoPaper$TNM_CLIN_N ==""] <- "Unknown"
PreopNeoPaper$TNM_CLIN_N[PreopNeoPaper$TNM_CLIN_N == "cX"] <- "Unknown"

##Recoding Data within TNM Path T
PreopNeoPaper$TNM_PATH_T[PreopNeoPaper$TNM_PATH_T ==""] <- "Unknown"
PreopNeoPaper$TNM_PATH_T[PreopNeoPaper$TNM_PATH_T =="pIS"] <- "Unknown"
PreopNeoPaper$TNM_PATH_T[PreopNeoPaper$TNM_PATH_T == "pX"] <- "Unknown"

##Recoding Data within TNM Path N
PreopNeoPaper$TNM_PATH_N[PreopNeoPaper$TNM_PATH_N ==""] <- "Unknown"
PreopNeoPaper$TNM_PATH_N[PreopNeoPaper$TNM_PATH_N =="pX"] <- "Unknown"
##Recoding Analytical Stages removing Stage IV patients
PreopNeoPaper$ANALYTIC_STAGE_GROUP[PreopNeoPaper$ANALYTIC_STAGE_GROUP == "AJCC Stage Group unknown"] <- "Unknown"

##Recoding income
PreopNeoPaper$MED_INC_QUAR_12[PreopNeoPaper$MED_INC_QUAR_12 == ""] <- "Unknown"



###Labeling Columns for MISvsMISConversionNCDBDemographicTable
var_label(PreopNeoPaperDemotable$DX_LASTCONTACT_DEATH_MONTHS) <- "Median Survival"
var_label(PreopNeoPaperDemotable$PUF_VITAL_STATUS.2) <- "Vital Status"
#Recode Preop XRT = 1 NeoAdjuvant multiagent= 0
PreopNeoPaper$Single.vs.Multi.Agent[PreopNeoPaper$Single.vs.Multi.Agent == "Pre Op XRT" ] <- 1
PreopNeoPaper$Single.vs.Multi.Agent[PreopNeoPaper$Single.vs.Multi.Agent =="PreOp Multiagent"] <- 0

###Recode preop XRT and Neoadjuvant column back to original
PreopXRTOddsratio$Single.vs.Multi.Agent[PreopXRTOddsratio$Single.vs.Multi.Agent == 1 ] <- "Pre Op XRT"
PreopXRTOddsratio$Single.vs.Multi.Agent[PreopXRTOddsratio$Single.vs.Multi.Agent == 0 ] <- "PreOp Multiagent"
###Create New columns for preopxrtoddsratio and neoadjuvant multiagent
Neoadjoddsratio <- 
  PreopXRTOddsratio %>%
  mutate(PreopXRTOddsratio, NeoMultiAgent = ifelse(Single.vs.Multi.Agent == 1, 2,
                                                   ifelse(Single.vs.Multi.Agent == 0 , 1, 100)))
## Neoadjoddsratio change 2 to become the nonevent
Neoadjoddsratio$NeoMultiAgent[Neoadjoddsratio$NeoMultiAgent == 2] <- 0

###Make Singlevsmultiagent column numeric
PreopNeoPaper$Single.vs.Multi.Agent <- as.numeric(PreopNeoPaper$Single.vs.Multi.Agent)

### Preopxrtoddsratio recoding age to a <75 and >75, and 51-75
PreopXRTOddsratioB <- 
  PreopXRTOddsratio %>%
  mutate(PreopXRTOddsratio, AgeB = ifelse(AGE > 75, ">75",
                                          ifelse(AGE < 51 , "<51", "51-75")))
#### recoding Unknowns to NA PreopxrtoddsratioB
PreopXRTOddsratioB$INSURANCE_STATUS.2[PreopXRTOddsratioB$INSURANCE_STATUS.2 =="Unknown"] <- NA
PreopXRTOddsratioB$MED_INC_QUAR_12[PreopXRTOddsratioB$MED_INC_QUAR_12 =="Unknown"] <- NA
PreopXRTOddsratioB$NO_HSD_QUAR_12[PreopXRTOddsratioB$NO_HSD_QUAR_12 =="Unknown"] <- NA
PreopXRTOddsratioB$Population.density[PreopXRTOddsratioB$Population.density =="Unknown"] <- NA
PreopXRTOddsratioB$TNM_CLIN_T[PreopXRTOddsratioB$TNM_CLIN_T =="Unknown"] <- NA
PreopXRTOddsratioB$TNM_CLIN_N[PreopXRTOddsratioB$TNM_CLIN_N =="Unknown"] <- NA
PreopXRTOddsratioB$TNM_PATH_N[PreopXRTOddsratioB$TNM_PATH_N =="Unknown"] <- NA
PreopXRTOddsratioB$ANALYTIC_STAGE_GROUP[PreopXRTOddsratioB$ANALYTIC_STAGE_GROUP =="Unknown"] <- NA
PreopXRTOddsratioB$Margins[PreopXRTOddsratioB$Margins =="Unknown"] <- NA
PreopXRTOddsratioB$GRADE.2[PreopXRTOddsratioB$GRADE.2 =="Unknown"] <- NA
PreopXRTOddsratioB$Downstaging[PreopXRTOddsratioB$Downstaging =="Unknown"] <- NA

#### recoding Unknowns to NA Neoadjoddsratio
Neoadjoddsratio$INSURANCE_STATUS.2[Neoadjoddsratio$INSURANCE_STATUS.2 =="Unknown"] <- NA
Neoadjoddsratio$MED_INC_QUAR_12[Neoadjoddsratio$MED_INC_QUAR_12 =="Unknown"] <- NA
Neoadjoddsratio$NO_HSD_QUAR_12[Neoadjoddsratio$NO_HSD_QUAR_12 =="Unknown"] <- NA
Neoadjoddsratio$Population.density[Neoadjoddsratio$Population.density =="Unknown"] <- NA
Neoadjoddsratio$TNM_CLIN_T[Neoadjoddsratio$TNM_CLIN_T =="Unknown"] <- NA
Neoadjoddsratio$TNM_CLIN_N[Neoadjoddsratio$TNM_CLIN_N =="Unknown"] <- NA
Neoadjoddsratio$TNM_PATH_N[Neoadjoddsratio$TNM_PATH_N =="Unknown"] <- NA
Neoadjoddsratio$ANALYTIC_STAGE_GROUP[Neoadjoddsratio$ANALYTIC_STAGE_GROUP =="Unknown"] <- NA
Neoadjoddsratio$Margins[Neoadjoddsratio$Margins =="Unknown"] <- NA
Neoadjoddsratio$GRADE.2[Neoadjoddsratio$GRADE.2 =="Unknown"] <- NA
Neoadjoddsratio$Downstaging[Neoadjoddsratio$Downstaging =="Unknown"] <- NA
#Recode Preop XRT = 1 NeoAdjuvant multiagent= 0
PreopXRTOddsratioB$Single.vs.Multi.Agent[PreopXRTOddsratioB$Single.vs.Multi.Agent == "Pre Op XRT" ] <- 1
PreopXRTOddsratioB$Single.vs.Multi.Agent[PreopXRTOddsratioB$Single.vs.Multi.Agent =="PreOp Multiagent"] <- 0
###Make Singlevsmultiagent column numeric
PreopXRTOddsratioB$Single.vs.Multi.Agent <- as.numeric(PreopXRTOddsratioB$Single.vs.Multi.Agent)
##Univariant Model PreopxrtdOddsratio
UnivariantModel <- PreopXRTOddsratioB %>%
  select(Single.vs.Multi.Agent, AgeB, RACE.2, INSURANCE_STATUS.2, MED_INC_QUAR_12, NO_HSD_QUAR_12, Population.density, Charlson.Deyo.Score, GRADE.2, RX_SUMM_SURG_PRIM_SITE.2.2, Downstaging) %>%
  tbl_uvregression(
    method = glm,
    y = Single.vs.Multi.Agent,
    method.args = list(family = binomial),
    exponentiate = TRUE,
    pvalue_fun = ~style_pvalue(.x, digits = 2)
  ) %>%
  bold_p(t = 0.10) %>%
  bold_labels() %>%
  italicize_levels()
####Multivariant analysis preopxrt
MVOR <- 
  glm(Single.vs.Multi.Agent ~ AgeB + RACE.2 + INSURANCE_STATUS.2 + MED_INC_QUAR_12 + NO_HSD_QUAR_12 + Population.density + GRADE.2 + RX_SUMM_SURG_PRIM_SITE.2.2 + Downstaging, 
      data = PreopXRTOddsratioB,
      family = binomial("logit"))
###continue on to merge the table sets
MVORTable <-
  tbl_regression(MVOR, exponentiate = T,
                 pvalue_fun = ~style_pvalue(.x, digits = 2),
  ) %>%
  bold_p(t = 0.10) %>%
  bold_labels() %>%
  italicize_levels() 
tbl_merge(
  list(UnivariantModel, MVORTable),
  tab_spanner = c("**Univariable**", "**Multivariable**")
) %>%
  bold_labels() %>%
  italicize_levels() 
Characteristic Univariable Multivariable
N OR1 95% CI1 p-value OR1 95% CI1 p-value
AgeB 7,852
<51
>75 1.49 1.17, 1.90 0.001 1.56 1.03, 2.37 0.037
51-75 1.04 0.86, 1.27 0.70 1.00 0.74, 1.37 >0.99
RACE.2 7,852
Black
Other 0.40 0.27, 0.58 <0.001 0.38 0.20, 0.69 0.002
White 0.65 0.54, 0.77 <0.001 0.65 0.48, 0.87 0.003
INSURANCE_STATUS.2 7,743
Medicaid
Medicare 0.99 0.76, 1.31 0.96 0.98 0.65, 1.53 0.94
Not Insured 1.60 1.00, 2.54 0.047 1.87 0.93, 3.74 0.076
Private Insurance/Managed Care/Goverment 0.84 0.65, 1.10 0.20 0.92 0.61, 1.42 0.69
MED_INC_QUAR_12 7,852
< $38,000 1.67 0.63, 5.80 0.35 1.38 0.17, 28.4 0.78
>=$63,000 1.05 0.39, 3.61 0.94 0.90 0.11, 18.5 0.93
$38,000-$47,999 1.33 0.50, 4.61 0.60 1.09 0.14, 22.2 0.94
$48,000-$62,999 1.20 0.45, 4.14 0.74 1.06 0.13, 21.7 0.96
NO_HSD_QUAR_12 7,852
<7.0% 1.18 0.39, 5.07 0.79 1.05 0.81, 1.35 0.73
>=21.0% 1.72 0.57, 7.40 0.39 0.98 0.70, 1.37 0.92
13.0-20.9% 1.59 0.53, 6.83 0.46 0.99 0.78, 1.27 0.96
7.0-12.9% 1.37 0.46, 5.89 0.61
Population.density 7,648
Metro
Rural 0.82 0.51, 1.27 0.39 0.97 0.46, 1.87 0.92
Urban 1.14 0.98, 1.33 0.077 1.16 0.89, 1.49 0.27
Charlson.Deyo.Score 7,852
>=3
0 1.05 0.71, 1.59 0.83
1 1.30 0.88, 2.00 0.20
2 1.58 1.02, 2.51 0.048
GRADE.2 4,665
Moderately differentiated
Poorly differentiated 1.02 0.88, 1.19 0.75 0.99 0.81, 1.21 0.95
Well differentiated, differentiated 1.13 0.91, 1.39 0.27 1.14 0.87, 1.49 0.34
RX_SUMM_SURG_PRIM_SITE.2.2 7,852
Pancreatectomy, NOS
Partial pancreatectomy, distal 0.71 0.41, 1.29 0.24 0.43 0.16, 1.20 0.091
Total 1.03 0.61, 1.85 0.91 0.55 0.21, 1.52 0.22
Whipple 0.91 0.54, 1.60 0.72 0.48 0.19, 1.33 0.14
Downstaging 5,169
No
Yes 1.65 1.35, 2.02 <0.001 1.78 1.40, 2.30 <0.001

1 OR = Odds Ratio, CI = Confidence Interval

###PreopXRTOddsratioB will be used at the table to determine survival for the overall group

PreopXRTOddsratio$PUF_VITAL_STATUS.2[PreopXRTOddsratio$PUF_VITAL_STATUS.2 == 0] <- 2


###Subset the data so it's Only neoadj patients & only preop xrt patients prior to survival analysis

NeoadjSurvivalSubset <-
  subset(PreopXRTOddsratioB, Single.vs.Multi.Agent == 0)

PreopXRTSurvivalSubset <-
  subset(PreopXRTOddsratioB, Single.vs.Multi.Agent == 1)
### Univariant Survival Overall
OverallSurvival <-
  PreopXRTOddsratio %>%
  select(AGE, SEX, MED_INC_QUAR_12, INSURANCE_STATUS.2, Charlson.Deyo.Score, ANALYTIC_STAGE_GROUP, RX_SUMM_SURG_PRIM_SITE.2.2, GRADE.2, Downstaging, Single.vs.Multi.Agent, DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS.2) %>%
  tbl_uvregression(
    method = coxph,
    y = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS.2),
    exponentiate = TRUE) %>%
  bold_p(t = 0.10) %>%
  bold_labels() %>%
  italicize_levels()
###Multivariant survival Overall
MVOverallSurvival <-
  coxph(Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS.2) ~ AGE + MED_INC_QUAR_12 + INSURANCE_STATUS.2 + ANALYTIC_STAGE_GROUP + Charlson.Deyo.Score + RX_SUMM_SURG_PRIM_SITE.2.2 + GRADE.2 + Downstaging + Single.vs.Multi.Agent,
        data = PreopXRTOddsratio
  ) %>%
  tbl_regression(exponentiate = T
  ) %>%
  bold_p(t = 0.10) %>%
  bold_labels() %>%
  italicize_levels()
###Merged Neo Univariant and Multivariant
tbl_merge(
  list(OverallSurvival, MVOverallSurvival),
  tab_spanner = c("**Univariable**", "**Multivariable**")
) %>%
  bold_labels() %>%
  italicize_levels()
Characteristic Univariable Multivariable
N HR1 95% CI1 p-value HR1 95% CI1 p-value
AGE 6,286 1.01 1.01, 1.01 <0.001 1.01 1.00, 1.01 <0.001
SEX 6,286
Female
Male 1.04 0.98, 1.11 0.2
MED_INC_QUAR_12 6,286
< $38,000 0.96 0.54, 1.69 0.9 0.94 0.53, 1.67 0.8
>=$63,000 0.81 0.46, 1.44 0.5 0.82 0.46, 1.44 0.5
$38,000-$47,999 0.92 0.52, 1.63 0.8 0.90 0.51, 1.60 0.7
$48,000-$62,999 0.87 0.49, 1.54 0.6 0.87 0.49, 1.54 0.6
INSURANCE_STATUS.2 6,286
Medicaid
Medicare 1.12 0.96, 1.31 0.2 1.03 0.87, 1.22 0.7
Not Insured 1.03 0.78, 1.35 0.9 1.00 0.76, 1.32 >0.9
Private Insurance/Managed Care/Goverment 0.95 0.81, 1.10 0.5 0.96 0.82, 1.12 0.6
Unknown 1.23 0.92, 1.66 0.2 1.10 0.82, 1.48 0.5
Charlson.Deyo.Score 6,286
>=3
0 0.90 0.71, 1.13 0.4 0.94 0.75, 1.19 0.6
1 0.92 0.72, 1.16 0.5 0.95 0.75, 1.20 0.7
2 1.02 0.78, 1.33 0.9 0.99 0.76, 1.29 >0.9
ANALYTIC_STAGE_GROUP 6,286
AJCC Stage Group unknown
Stage 0 0.37 0.22, 0.64 <0.001 0.43 0.25, 0.75 0.003
Stage I 0.92 0.70, 1.21 0.6 0.99 0.75, 1.30 >0.9
Stage II 1.31 1.00, 1.70 0.046 1.27 0.97, 1.65 0.079
Stage III 1.41 1.06, 1.88 0.018 1.44 1.08, 1.91 0.013
RX_SUMM_SURG_PRIM_SITE.2.2 6,286
Pancreatectomy, NOS
Partial pancreatectomy, distal 0.91 0.66, 1.26 0.6 1.02 0.74, 1.41 >0.9
Total 1.13 0.82, 1.56 0.4 1.18 0.86, 1.63 0.3
Whipple 1.04 0.76, 1.42 0.8 1.11 0.81, 1.52 0.5
GRADE.2 6,286
Moderately differentiated
Poorly differentiated 1.26 1.16, 1.37 <0.001 1.23 1.13, 1.34 <0.001
Unknown 0.82 0.76, 0.88 <0.001 0.87 0.81, 0.93 <0.001
Well differentiated, differentiated 0.85 0.75, 0.97 0.012 0.87 0.77, 0.98 0.025
Downstaging 6,286
No
Unknown 0.83 0.75, 0.92 <0.001 0.86 0.78, 0.95 0.002
Yes 0.64 0.58, 0.70 <0.001 0.70 0.64, 0.77 <0.001
Single.vs.Multi.Agent 6,286
Pre Op XRT
PreOp Multiagent 0.78 0.73, 0.84 <0.001 0.78 0.73, 0.84 <0.001

1 HR = Hazard Ratio, CI = Confidence Interval

### Univariant Survival Neoadj
UVNeoChemoSurvival <-
  NeoadjSurvivalSubset %>%
  select(AGE, SEX, MED_INC_QUAR_12, INSURANCE_STATUS.2, Charlson.Deyo.Score, ANALYTIC_STAGE_GROUP, RX_SUMM_SURG_PRIM_SITE.2.2, GRADE.2, Downstaging, DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS.2) %>%
  tbl_uvregression(
    method = coxph,
    y = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS.2),
    exponentiate = TRUE) %>%
  bold_p(t = 0.10) %>%
  bold_labels() %>%
  italicize_levels()
###Multivariant survival Neoadj
MVNeoChemoSurvival <-
  coxph(Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS.2) ~ AGE + MED_INC_QUAR_12 + INSURANCE_STATUS.2 + ANALYTIC_STAGE_GROUP + Charlson.Deyo.Score + RX_SUMM_SURG_PRIM_SITE.2.2 + GRADE.2 + Downstaging,
        data = NeoadjSurvivalSubset
  ) %>%
  tbl_regression(exponentiate = T
  ) %>%
  bold_p(t = 0.10) %>%
  bold_labels() %>%
  italicize_levels()
###Merged Neo Univariant and Multivariant
tbl_merge(
  list(UVNeoChemoSurvival, MVNeoChemoSurvival),
  tab_spanner = c("**Univariable**", "**Multivariable**")
) %>%
  bold_labels() %>%
  italicize_levels()
Characteristic Univariable Multivariable
N HR1 95% CI1 p-value HR1 95% CI1 p-value
AGE 4,811 1.01 1.00, 1.01 <0.001 1.00 0.99, 1.01 0.6
SEX 4,811
Female
Male 0.96 0.88, 1.05 0.4
MED_INC_QUAR_12 4,811
< $38,000 0.78 0.37, 1.65 0.5 0.30 0.07, 1.24 0.10
>=$63,000 0.64 0.31, 1.36 0.2 0.34 0.08, 1.39 0.13
$38,000-$47,999 0.72 0.34, 1.51 0.4 0.37 0.09, 1.55 0.2
$48,000-$62,999 0.68 0.32, 1.43 0.3 0.34 0.08, 1.41 0.14
INSURANCE_STATUS.2 4,755
Medicaid
Medicare 0.94 0.75, 1.16 0.6 0.95 0.63, 1.42 0.8
Not Insured 0.95 0.61, 1.47 0.8 1.67 0.91, 3.05 0.10
Private Insurance/Managed Care/Goverment 0.79 0.63, 0.97 0.028 0.88 0.61, 1.27 0.5
Charlson.Deyo.Score 4,811
>=3
0 0.84 0.59, 1.20 0.3 0.83 0.46, 1.49 0.5
1 0.86 0.60, 1.24 0.4 0.87 0.48, 1.58 0.7
2 0.76 0.50, 1.15 0.2 0.82 0.40, 1.66 0.6
ANALYTIC_STAGE_GROUP 4,811
AJCC Stage Group unknown
Stage 0 2.28 1.33, 3.90 0.003 1.54 0.19, 12.6 0.7
Stage I 1.65 1.09, 2.50 0.017 1.26 0.18, 9.09 0.8
Stage II 1.76 1.17, 2.63 0.006 1.31 0.18, 9.41 0.8
Stage III 1.51 0.97, 2.36 0.068 1.37 0.18, 10.2 0.8
RX_SUMM_SURG_PRIM_SITE.2.2 4,811
Pancreatectomy, NOS
Partial pancreatectomy, distal 1.65 0.98, 2.77 0.061 1.84 0.25, 13.3 0.5
Total 1.28 0.76, 2.16 0.4 1.17 0.16, 8.47 0.9
Whipple 1.42 0.85, 2.36 0.2 1.67 0.23, 11.9 0.6
GRADE.2 2,854
Moderately differentiated
Poorly differentiated 1.01 0.88, 1.16 >0.9 1.07 0.89, 1.27 0.5
Well differentiated, differentiated 0.90 0.74, 1.09 0.3 0.83 0.65, 1.06 0.13
Downstaging 3,161
No
Yes 1.18 1.00, 1.38 0.051 1.23 0.97, 1.54 0.082

1 HR = Hazard Ratio, CI = Confidence Interval

### Univariant Survival PreopXRTGroup
UVPreopxrtSurvival <-
  PreopXRTSurvivalSubset %>%
  select(AGE, SEX, MED_INC_QUAR_12, INSURANCE_STATUS.2, Charlson.Deyo.Score, ANALYTIC_STAGE_GROUP, RX_SUMM_SURG_PRIM_SITE.2.2, GRADE.2, Downstaging, DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS.2) %>%
  tbl_uvregression(
    method = coxph,
    y = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS.2),
    exponentiate = TRUE) %>%
  bold_p(t = 0.10) %>%
  bold_labels() %>%
  italicize_levels()
###Multivariant survival preopXRT Group
MVPreopXRTSurvival <-
  coxph(Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS.2) ~ AGE + MED_INC_QUAR_12 + INSURANCE_STATUS.2 + ANALYTIC_STAGE_GROUP + Charlson.Deyo.Score + RX_SUMM_SURG_PRIM_SITE.2.2 + GRADE.2 + Downstaging,
        data = PreopXRTSurvivalSubset
  ) %>%
  tbl_regression(exponentiate = T
  ) %>%
  bold_p(t = 0.10) %>%
  bold_labels() %>%
  italicize_levels()
## Warning in fitter(X, Y, istrat, offset, init, control, weights = weights, :
## Loglik converged before variable 2,3,4,5 ; coefficient may be infinite.
###Merged Neo Univariant and Multivariant
tbl_merge(
  list(UVPreopxrtSurvival, MVPreopXRTSurvival),
  tab_spanner = c("**Univariable**", "**Multivariable**")
) %>%
  bold_labels() %>%
  italicize_levels()
Characteristic Univariable Multivariable
N HR1 95% CI1 p-value HR1 95% CI1 p-value
AGE 1,475 1.01 1.00, 1.02 0.2 1.02 0.99, 1.05 0.12
SEX 1,475
Female
Male 1.12 0.90, 1.40 0.3
MED_INC_QUAR_12 1,475
< $38,000 0.61 0.08, 4.41 0.6 171,659 0.00, Inf >0.9
>=$63,000 0.83 0.12, 6.00 0.9 207,064 0.00, Inf >0.9
$38,000-$47,999 0.62 0.09, 4.51 0.6 138,164 0.00, Inf >0.9
$48,000-$62,999 0.74 0.10, 5.33 0.8 160,676 0.00, Inf >0.9
INSURANCE_STATUS.2 1,445
Medicaid
Medicare 0.65 0.41, 1.02 0.061 0.43 0.20, 0.95 0.038
Not Insured 0.47 0.21, 1.02 0.055 0.55 0.15, 2.06 0.4
Private Insurance/Managed Care/Goverment 0.60 0.38, 0.95 0.028 0.57 0.28, 1.16 0.12
Charlson.Deyo.Score 1,475
>=3
0 1.25 0.46, 3.37 0.7 0.69 0.21, 2.25 0.5
1 1.19 0.44, 3.25 0.7 0.65 0.19, 2.15 0.5
2 1.30 0.45, 3.72 0.6 0.72 0.20, 2.66 0.6
ANALYTIC_STAGE_GROUP 1,475
AJCC Stage Group unknown
Stage 0 1.27 0.49, 3.33 0.6 18.9 0.79, 452 0.070
Stage I 1.21 0.55, 2.62 0.6 14.4 0.94, 222 0.056
Stage II 1.17 0.54, 2.52 0.7 12.4 0.83, 185 0.067
Stage III 1.33 0.55, 3.20 0.5 15.3 0.89, 263 0.061
RX_SUMM_SURG_PRIM_SITE.2.2 1,475
Pancreatectomy, NOS
Partial pancreatectomy, distal 2.52 0.87, 7.31 0.090 8.81 0.68, 115 0.10
Total 1.64 0.57, 4.73 0.4 8.31 0.66, 105 0.10
Whipple 1.61 0.58, 4.48 0.4 7.98 0.64, 99.9 0.11
GRADE.2 1,008
Moderately differentiated
Poorly differentiated 0.95 0.68, 1.32 0.8 0.83 0.54, 1.27 0.4
Well differentiated, differentiated 1.38 0.94, 2.00 0.10 1.14 0.70, 1.86 0.6
Downstaging 951
No
Yes 1.12 0.73, 1.72 0.6 0.93 0.53, 1.64 0.8

1 HR = Hazard Ratio, CI = Confidence Interval