##chargement des packages----
library(questionr)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.2.1     ✔ readr     2.2.0
## ✔ forcats   1.0.1     ✔ stringr   1.6.0
## ✔ ggplot2   4.0.3     ✔ tibble    3.3.1
## ✔ lubridate 1.9.5     ✔ tidyr     1.3.2
## ✔ purrr     1.2.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(tableone)
library(labelled)
library(gtsummary)
library(GGally)
library(readxl)
library(effects)
## Le chargement a nécessité le package : carData
## lattice theme set by effectsTheme()
## See ?effectsTheme for details.
library(survival)
library(survminer)
## Le chargement a nécessité le package : ggpubr
## Registered S3 method overwritten by 'car':
##   method           from
##   na.action.merMod lme4
## 
## Attachement du package : 'survminer'
## 
## L'objet suivant est masqué depuis 'package:survival':
## 
##     myeloma
library(ggplot2)
library(dplyr)
library(knitr)
library(cowplot)
## 
## Attachement du package : 'cowplot'
## 
## L'objet suivant est masqué depuis 'package:ggpubr':
## 
##     get_legend
## 
## L'objet suivant est masqué depuis 'package:lubridate':
## 
##     stamp
##chargement des données 

data_paul_global_20260714 <- read_excel("X:/fp/FAC/2025-2026/Memoires DES/Paul Charron/analyses stats/20260714/data_paul_global_20260714.xlsx")

##recodage des variables et bases de données le cas échéant----

data_cop<-data_paul_global_20260714


##création de variables à plusieurs catégorie selon valeurs variable continue

data_cop$old70<-ifelse(data_cop$age>70, 1, 0)
data_cop$old75<-ifelse(data_cop$age>75, 1, 0)
data_cop$old65<-ifelse(data_cop$age>65, 1, 0)
data_cop$fonction_rein_base<-factor(data_cop$fonction_renale, levels=c("dfg_normal", "irc30", "irc60"),
                          labels=c("dfg > 60 ml/min",
                                   "dfg<30ml/min",
                                   "dfg , ntre 30 et 60 ml/min"))
data_cop$denutri<-ifelse(data_cop$imc<18.5, 1, 0)

##renommer des variables pour présentation dans les tableaux de résultats
library(labelled)
var_label(data_cop$dfg_baseline) <- "dfg avant protocole de debulking"
var_label(data_cop$protoc_debulk) <- "protocole de debulking"
var_label(data_cop$concession_protoc_debulk) <- "concession de dose sur le protocole de debulking"
var_label(data_cop$bsa) <- "surface corporelle (m²)"
var_label(data_cop$poids) <- ")poids (kg)"
var_label(data_cop$taille) <- "taille (m)"
var_label(data_cop$old65) <- "patients de plus de 65 ans"
var_label(data_cop$old70) <- "patients de plus de 70 ans"
var_label(data_cop$old75) <- "patients de plus de 75 ans"
var_label(data_cop$denutri)<- "patients avec imc <18.5"
var_label(data_cop$protocole_lnh)<- "protocole de traitement du LNH"
var_label(data_cop$delai_cop_ttlnh)<- "délai entre protocole de debulking et tt du lnh"
var_label(data_cop$concession_protoc_lnh)<- "patient avec concession de dose du tt du lnh"

##tableau descriptif population globales ----

tbl_summary(
  data_cop, include = c("age", "sexe", "poids","taille","bsa","pathologie","dfg_baseline",
                     "protoc_debulk","concession_protoc_debulk",
                     "old65", "old70", "old75", "imc", "denutri"),
  by="fonction_rein_base", 
  digits=all_categorical()~ c(0,1)
)%>%
add_overall(last = TRUE)%>%
  add_p()
Characteristic dfg > 60 ml/min
N = 24
1
dfg<30ml/min
N = 24
1
dfg , ntre 30 et 60 ml/min
N = 24
1
Overall
N = 72
1
p-value2
age 78 (71, 82) 77 (70, 83) 82 (77, 88) 79 (72, 84) 0.065
sexe



0.2
    F 14 (58.3%) 8 (33.3%) 9 (37.5%) 31 (43.1%)
    M 10 (41.7%) 16 (66.7%) 15 (62.5%) 41 (56.9%)
)poids (kg) 66 (57, 72) 72 (63, 79) 67 (60, 71) 66 (60, 75) 0.2
taille (m) 166 (160, 172) 170 (166, 175) 167 (161, 170) 168 (162, 172) 0.12
surface corporelle (m²) 1.70 (1.60, 1.89) 1.84 (1.67, 1.92) 1.75 (1.64, 1.80) 1.75 (1.67, 1.89) 0.14
pathologie



0.2
    LBDGC 15 (62.5%) 10 (41.7%) 20 (83.3%) 45 (62.5%)
    Lymphome anaplasique 0 (0.0%) 1 (4.2%) 0 (0.0%) 1 (1.4%)
    Lymphome B 1 (4.2%) 1 (4.2%) 0 (0.0%) 2 (2.8%)
    Lymphome B inclassable 0 (0.0%) 0 (0.0%) 1 (4.2%) 1 (1.4%)
    Lymphome de Burkitt 2 (8.3%) 1 (4.2%) 0 (0.0%) 3 (4.2%)
    Lymphome de Burkitt avec localisation rénale, osseuse et neurologique 0 (0.0%) 1 (4.2%) 0 (0.0%) 1 (1.4%)
    Lymphome de la zone marginale 0 (0.0%) 2 (8.3%) 0 (0.0%) 2 (2.8%)
    Lymphome du MALT 1 (4.2%) 0 (0.0%) 0 (0.0%) 1 (1.4%)
    Lymphome du manteau 3 (12.5%) 2 (8.3%) 2 (8.3%) 7 (9.7%)
    Lymphome folliculaire 2 (8.3%) 1 (4.2%) 1 (4.2%) 4 (5.6%)
    Lymphome plasmablastique 0 (0.0%) 1 (4.2%) 0 (0.0%) 1 (1.4%)
    Lymphome plasmablastique EBV+ 0 (0.0%) 1 (4.2%) 0 (0.0%) 1 (1.4%)
    Lymphome T angio-immunoblastique 0 (0.0%) 2 (8.3%) 0 (0.0%) 2 (2.8%)
    Syndrome de Richter 0 (0.0%) 1 (4.2%) 0 (0.0%) 1 (1.4%)
dfg avant protocole de debulking 84 (78, 89) 23 (17, 28) 43 (39, 47) 43 (28, 78) <0.001
protocole de debulking



0.030
    cop 18 (75.0%) 17 (70.8%) 11 (45.8%) 46 (63.9%)
    cvp 0 (0.0%) 2 (8.3%) 0 (0.0%) 2 (2.8%)
    op 6 (25.0%) 5 (20.8%) 13 (54.2%) 24 (33.3%)
concession de dose sur le protocole de debulking 0 (0.0%) 2 (8.3%) 0 (0.0%) 2 (2.8%) 0.3
patients de plus de 65 ans 21 (87.5%) 22 (91.7%) 24 (100.0%) 67 (93.1%) 0.4
patients de plus de 70 ans 19 (79.2%) 18 (75.0%) 22 (91.7%) 59 (81.9%) 0.4
patients de plus de 75 ans 14 (58.3%) 14 (58.3%) 20 (83.3%) 48 (66.7%) 0.11
imc 23.3 (21.4, 25.8) 24.5 (22.3, 27.7) 23.7 (21.4, 26.1) 23.9 (21.5, 25.9) 0.4
patients avec imc <18.5 1 (4.2%) 0 (0.0%) 3 (12.5%) 4 (5.6%) 0.3
1 Median (Q1, Q3); n (%)
2 Kruskal-Wallis rank sum test; Pearson’s Chi-squared test; Fisher’s exact test
##tableau récapitulatif des traitements instaurés 

tbl_summary(
  data_cop, include = c("protocole_lnh", "delai_cop_ttlnh","concession_protoc_lnh"),
  by="fonction_rein_base", 
  digits=all_categorical()~ c(0,1)
)%>%
  add_overall(last = TRUE)%>%
  add_p()
## The following errors were returned during `add_p()`:
## ✖ For variable `protocole_lnh` (`fonction_rein_base`) and "estimate",
##   "p.value", "conf.low", and "conf.high" statistics: integer overflow in exact
##   computation
Characteristic dfg > 60 ml/min
N = 24
1
dfg<30ml/min
N = 24
1
dfg , ntre 30 et 60 ml/min
N = 24
1
Overall
N = 72
1
p-value2
protocole de traitement du LNH




    / 0 (0.0%) 4 (16.7%) 0 (0.0%) 4 (5.6%)
    bv_chp 0 (0.0%) 1 (4.2%) 0 (0.0%) 1 (1.4%)
    chop 0 (0.0%) 1 (4.2%) 0 (0.0%) 1 (1.4%)
    epoch 0 (0.0%) 1 (4.2%) 0 (0.0%) 1 (1.4%)
    g_cvp 1 (4.2%) 1 (4.2%) 1 (4.2%) 3 (4.2%)
    g_mini_chop 1 (4.2%) 0 (0.0%) 0 (0.0%) 1 (1.4%)
    ibrutinib 1 (4.2%) 0 (0.0%) 0 (0.0%) 1 (1.4%)
    pep_c 0 (0.0%) 1 (4.2%) 1 (4.2%) 2 (2.8%)
    r_benda 1 (4.2%) 1 (4.2%) 0 (0.0%) 2 (2.8%)
    r_chop 8 (33.3%) 6 (25.0%) 9 (37.5%) 23 (31.9%)
    r_chvp 1 (4.2%) 0 (0.0%) 0 (0.0%) 1 (1.4%)
    r_copadm 1 (4.2%) 1 (4.2%) 0 (0.0%) 2 (2.8%)
    r_cvp 1 (4.2%) 1 (4.2%) 0 (0.0%) 2 (2.8%)
    r_dahox 0 (0.0%) 0 (0.0%) 1 (4.2%) 1 (1.4%)
    r_dha 0 (0.0%) 0 (0.0%) 1 (4.2%) 1 (1.4%)
    r_gemox 0 (0.0%) 2 (8.3%) 0 (0.0%) 2 (2.8%)
    r_ifos_vp16 1 (4.2%) 1 (4.2%) 0 (0.0%) 2 (2.8%)
    r_metho_chop 1 (4.2%) 0 (0.0%) 1 (4.2%) 2 (2.8%)
    r_mini_chop 7 (29.2%) 1 (4.2%) 10 (41.7%) 18 (25.0%)
    r_mono 0 (0.0%) 2 (8.3%) 0 (0.0%) 2 (2.8%)
délai entre protocole de debulking et tt du lnh 7.0 (6.0, 9.5) 9.0 (7.0, 13.5) 7.0 (6.0, 7.5) 7.0 (6.0, 10.0) 0.066
    Unknown 0 4 0 4
patient avec concession de dose du tt du lnh 2 (8.3%) 5 (25.0%) 6 (25.0%) 13 (19.1%) 0.2
    Unknown 0 4 0 4
1 n (%); Median (Q1, Q3)
2 NA; Kruskal-Wallis rank sum test; Fisher’s exact test
##rearragement des données pour graphiques evolution dfg

###test tableau en modifiant les données pour avoir une colone jour 

##Regroupement des observations baseline et day 3 en un seul tableau 


#séparation des tableaux baseline et jour 3
data_baseline<-filter(data_cop, c(dfg_baseline!="" ))
data_j1<-filter(data_cop, c(dfg_j1!="" ))
data_j2<-filter(data_cop, c(dfg_j2!="" ))
data_j3<-filter(data_cop, c(dfg_j3!="" ))
data_j4<-filter(data_cop, c(dfg_j4!="" ))
data_j5<-filter(data_cop, c(dfg_j5!="" ))
data_j6<-filter(data_cop, c(dfg_j6!="" ))
data_j7<-filter(data_cop, c(dfg_j7!="" ))
data_j8<-filter(data_cop, c(dfg_j8!="" ))
data_j9<-filter(data_cop, c(dfg_j9!="" ))
data_j10<-filter(data_cop, c(dfg_j10!="" ))


#recodage des variables d'interet 
data_baseline$jour_post_debulk<-data_baseline$jour_postdebulk0
data_j1$jour_post_debulk<-data_j1$jour_postdebulk1
data_j2$jour_post_debulk<-data_j2$jour_postdebulk2
data_j3$jour_post_debulk<-data_j3$jour_postdebulk3
data_j4$jour_post_debulk<-data_j4$jour_postdebulk4
data_j5$jour_post_debulk<-data_j5$jour_postdebulk5
data_j6$jour_post_debulk<-data_j6$jour_postdebulk6
data_j7$jour_post_debulk<-data_j7$jour_postdebulk7
data_j8$jour_post_debulk<-data_j8$jour_postdebulk8
data_j9$jour_post_debulk<-data_j9$jour_postdebulk9
data_j10$jour_post_debulk<-data_j10$jour_postdebulk10


data_baseline$dfg<-data_baseline$dfg_baseline
data_j1$dfg<-data_j1$dfg_j1
data_j2$dfg<-data_j2$dfg_j2
data_j3$dfg<-data_j3$dfg_j3
data_j4$dfg<-data_j4$dfg_j4
data_j5$dfg<-data_j5$dfg_j5
data_j6$dfg<-data_j6$dfg_j6
data_j7$dfg<-data_j7$dfg_j7
data_j8$dfg<-data_j8$dfg_j8
data_j9$dfg<-data_j9$dfg_j9
data_j10$dfg<-data_j10$dfg_j10




##sélection des variables d'interet
baseline<-subset(data_baseline, select =c(id, jour_post_debulk, dfg, fonction_renale))
j1<-subset(data_j1, select =c(id, jour_post_debulk, dfg, fonction_renale))
j2<-subset(data_j2, select =c(id, jour_post_debulk, dfg, fonction_renale))
j3<-subset(data_j3, select =c(id, jour_post_debulk, dfg, fonction_renale))
j4<-subset(data_j4, select =c(id, jour_post_debulk, dfg, fonction_renale))
j5<-subset(data_j5, select =c(id, jour_post_debulk, dfg, fonction_renale))
j6<-subset(data_j6, select =c(id, jour_post_debulk, dfg, fonction_renale))
j7<-subset(data_j7, select =c(id, jour_post_debulk, dfg, fonction_renale))
j8<-subset(data_j8, select =c(id, jour_post_debulk, dfg, fonction_renale))
j9<-subset(data_j9, select =c(id, jour_post_debulk, dfg, fonction_renale))
j10<-subset(data_j10, select =c(id, jour_post_debulk, dfg, fonction_renale))


##regroupement en un seul tableau 
recap_dfg<-bind_rows(baseline, j1, j2, j3, j4, j5, j6, j7, j8 ,j9, j10)
recap_dfg$jour<-factor(recap_dfg$jour_post_debulk)

var_label(data_cop$recup_dfg_normal)<- "patient avec dfg >60 ml/min au meilleur des 10 jours"
var_label(data_cop$recup_dfg_modere)<- "patient avec dfg entre 30 et 60 ml/min au meilleur des 10 jours"
var_label(data_cop$recup_dfg_last_normal)<- "patient avec dfg >60 ml/min dernière mesure des 10 jours"
var_label(data_cop$recup_dfg_last_modere)<- "patient avec dfg entre 30 et 60 ml/min dernière mesure des 10 jours"



## evolution des fonctions rénales 
tbl_summary(
  data_cop, include = c("recup_dfg_normal", "recup_dfg_modere", "recup_dfg_last_modere",
                        "recup_dfg_last_normal"),
  by="fonction_rein_base", 
  digits=all_categorical()~ c(0,1)
)%>%
  add_overall(last = TRUE)%>%
  add_p()
Characteristic dfg > 60 ml/min
N = 24
1
dfg<30ml/min
N = 24
1
dfg , ntre 30 et 60 ml/min
N = 24
1
Overall
N = 72
1
p-value2
patient avec dfg >60 ml/min au meilleur des 10 jours 24 (100.0%) 6 (25.0%) 8 (33.3%) 38 (52.8%) <0.001
patient avec dfg entre 30 et 60 ml/min au meilleur des 10 jours 24 (100.0%) 18 (75.0%) 24 (100.0%) 66 (91.7%) 0.003
patient avec dfg entre 30 et 60 ml/min dernière mesure des 10 jours 24 (100.0%) 16 (66.7%) 23 (95.8%) 63 (87.5%) 0.001
patient avec dfg >60 ml/min dernière mesure des 10 jours 22 (91.7%) 5 (20.8%) 6 (25.0%) 33 (45.8%) <0.001
1 n (%)
2 Pearson’s Chi-squared test; Fisher’s exact test
##evolution des dfg des patients avec ir sévère

suivi_patients_irc<-filter(recap_dfg, c(fonction_renale=="irc30"))

ggplot(suivi_patients_irc) +
  aes(x = jour, y = dfg) +
  geom_boxplot() +
  xlab("jours post_chimio de bebulking") +
  ylab("dfg") +
  ggtitle("evolution des dfg des patients avec irc severe")

##evolution des dfg des patients avec ir modérée

suivi_patients_irc_modere<-filter(recap_dfg, c(fonction_renale=="irc60"))

ggplot(suivi_patients_irc_modere) +
  aes(x = jour, y = dfg) +
  geom_boxplot() +
  xlab("jours post_chimio de bebulking") +
  ylab("dfg") +
  ggtitle("evolution des dfg des patients avec irc moderée")

##analyses de survie 

###PFS 

####patients avec IR sèvère 
irsevere<-filter(data_cop, c(fonction_renale=="irc30"))
pfsirsevere<-survfit(Surv(irsevere$pfs, irsevere$evt_pfs)~1)
pfsirsevere
## Call: survfit(formula = Surv(irsevere$pfs, irsevere$evt_pfs) ~ 1)
## 
##       n events median 0.95LCL 0.95UCL
## [1,] 24     19   10.4     1.7      NA
####patients avec IR modérée
irmoderee<-filter(data_cop, c(fonction_renale=="irc60"))
pfsirmodere<-survfit(Surv(irmoderee$pfs, irmoderee$evt_pfs)~1)
pfsirmodere
## Call: survfit(formula = Surv(irmoderee$pfs, irmoderee$evt_pfs) ~ 1)
## 
##       n events median 0.95LCL 0.95UCL
## [1,] 24     18   16.9    10.2      NA
####patients avec dfg normal
normorenaux<-filter(data_cop, c(fonction_renale=="dfg_normal"))
pfsnormorenaux<-survfit(Surv(normorenaux$pfs, normorenaux$evt_pfs)~1)
pfsnormorenaux
## Call: survfit(formula = Surv(normorenaux$pfs, normorenaux$evt_pfs) ~ 
##     1)
## 
##       n events median 0.95LCL 0.95UCL
## [1,] 24     12   75.5    11.2      NA
##Courbe kaplan Meier selon fonction rénale

km_pfs_rein<-survfit(Surv(pfs, evt_pfs)~fonction_renale, data=data_cop)
km_pfs_rein
## Call: survfit(formula = Surv(pfs, evt_pfs) ~ fonction_renale, data = data_cop)
## 
##                             n events median 0.95LCL 0.95UCL
## fonction_renale=dfg_normal 24     12   75.5    11.2      NA
## fonction_renale=irc30      24     19   10.4     1.7      NA
## fonction_renale=irc60      24     18   16.9    10.2      NA
ggsurvplot(
  km_pfs_rein,                     # survfit object with calculated statistics.
  data = data_cop,             # data used to fit survival curves.
  risk.table = TRUE,       # show risk table.
  pval = TRUE,             # show p-value of log-rank test.
  conf.int = TRUE,         # show confidence intervals for 
  # point estimates of survival curves.
  palette = c("#2E9FDF", "green4", "red"),
  xlim = c(0,24),         # present narrower X axis, but not affect
  # survival estimates.
  xlab = "Time in months",   # customize X axis label.
  break.time.by = 3,     # break X axis in time intervals by 500.
  ggtheme = theme_light(), # customize plot and risk table with a theme.
  risk.table.y.text.col = T,# colour risk table text annotations.
  risk.table.height = 0.25, # the height of the risk table
  risk.table.y.text = FALSE,# show bars instead of names in text annotations
  # in legend of risk table.
  ncensor.plot = FALSE,      # plot the number of censored subjects at time t
  ncensor.plot.height = 0.25,
  conf.int.style = "step",  # customize style of confidence intervals
  surv.median.line = "hv",  # add the median survival pointer.
  #legend.labs =
  #c("no", "yes")    # change legend labels.
)
## Ignoring unknown labels:
## • colour : "Strata"

###OS

####patients avec IR sèvère 

osirsevere<-survfit(Surv(irsevere$os, irsevere$evt_os)~1)
osirsevere
## Call: survfit(formula = Surv(irsevere$os, irsevere$evt_os) ~ 1)
## 
##       n events median 0.95LCL 0.95UCL
## [1,] 24     17   13.6     1.7      NA
####patients avec IR modérée

osirmodere<-survfit(Surv(irmoderee$os, irmoderee$evt_os)~1)
osirmodere
## Call: survfit(formula = Surv(irmoderee$os, irmoderee$evt_os) ~ 1)
## 
##       n events median 0.95LCL 0.95UCL
## [1,] 24     16   30.4    14.2      NA
####patients avec dfg normal

osnormorenaux<-survfit(Surv(normorenaux$os, normorenaux$evt_os)~1)
osnormorenaux
## Call: survfit(formula = Surv(normorenaux$os, normorenaux$evt_os) ~ 
##     1)
## 
##       n events median 0.95LCL 0.95UCL
## [1,] 24     11   75.5    29.9      NA
##Courbe kaplan Meier selon fonction rénale de base

km_os_rein<-survfit(Surv(os, evt_os)~fonction_renale, data=data_cop)
km_os_rein
## Call: survfit(formula = Surv(os, evt_os) ~ fonction_renale, data = data_cop)
## 
##                             n events median 0.95LCL 0.95UCL
## fonction_renale=dfg_normal 24     11   75.5    29.9      NA
## fonction_renale=irc30      24     17   13.6     1.7      NA
## fonction_renale=irc60      24     16   30.4    14.2      NA
ggsurvplot(
  km_os_rein,                     # survfit object with calculated statistics.
  data = data_cop,             # data used to fit survival curves.
  risk.table = TRUE,       # show risk table.
  pval = TRUE,             # show p-value of log-rank test.
  conf.int = TRUE,         # show confidence intervals for 
  # point estimates of survival curves.
  palette = c("#2E9FDF", "green4", "red"),
  xlim = c(0,36),         # present narrower X axis, but not affect
  # survival estimates.
  xlab = "Time in months",   # customize X axis label.
  break.time.by = 3,     # break X axis in time intervals by 500.
  ggtheme = theme_light(), # customize plot and risk table with a theme.
  risk.table.y.text.col = T,# colour risk table text annotations.
  risk.table.height = 0.25, # the height of the risk table
  risk.table.y.text = FALSE,# show bars instead of names in text annotations
  # in legend of risk table.
  ncensor.plot = FALSE,      # plot the number of censored subjects at time t
  ncensor.plot.height = 0.25,
  conf.int.style = "step",  # customize style of confidence intervals
  surv.median.line = "hv",  # add the median survival pointer.
  #legend.labs =
  #c("no", "yes")    # change legend labels.
)
## Ignoring unknown labels:
## • colour : "Strata"

##analyses univariée sur pfs

tbl_uvregression(
  data_cop,
  method = coxph,
  y = Surv(pfs, evt_pfs),
  exponentiate = TRUE,
  include = c(age,fonction_renale, old65,old70, old75, denutri, sexe),
  pvalue_fun = scales::label_pvalue(accuracy = .001)
)
Characteristic N HR 95% CI p-value
age 72 1.03 1.00, 1.07 0.093
fonction_renale 72


    dfg_normal

    irc30
3.00 1.42, 6.33 0.004
    irc60
2.00 0.96, 4.20 0.066
patients de plus de 65 ans 72 4.41 0.61, 32.0 0.142
patients de plus de 70 ans 72 1.04 0.46, 2.32 0.927
patients de plus de 75 ans 72 1.31 0.68, 2.51 0.418
patients avec imc <18.5 72 0.52 0.13, 2.16 0.371
sexe 72


    F

    M
0.94 0.53, 1.66 0.827
Abbreviations: CI = Confidence Interval, HR = Hazard Ratio
##analyses Mutlivariée sur pfs

modsurv<-coxph(Surv(pfs, evt_pfs)~fonction_renale+
                 old65, data=data_cop)
modsurv%>%tbl_regression(
  exponentiate = TRUE,pvalue_fun = scales::label_pvalue(accuracy = .001)
)
Characteristic HR 95% CI p-value
fonction_renale


    dfg_normal
    irc30 3.02 1.43, 6.36 0.004
    irc60 1.81 0.86, 3.81 0.116
patients de plus de 65 ans 4.40 0.60, 32.3 0.146
Abbreviations: CI = Confidence Interval, HR = Hazard Ratio
##analyses univariée sur os

tbl_uvregression(
  data_cop,
  method = coxph,
  y = Surv(os, evt_os),
  exponentiate = TRUE,
  include = c(age,fonction_renale,old70, old75, denutri, sexe),
  pvalue_fun = scales::label_pvalue(accuracy = .001)
)
Characteristic N HR 95% CI p-value
age 72 1.05 1.01, 1.09 0.023
fonction_renale 72


    dfg_normal

    irc30
3.18 1.45, 6.96 0.004
    irc60
1.97 0.91, 4.28 0.085
patients de plus de 70 ans 72 1.65 0.65, 4.20 0.295
patients de plus de 75 ans 72 1.60 0.79, 3.25 0.194
patients avec imc <18.5 72 0.66 0.16, 2.76 0.573
sexe 72


    F

    M
0.88 0.48, 1.60 0.666
Abbreviations: CI = Confidence Interval, HR = Hazard Ratio
##remarque old65 ne convergeait pas 

##analyses Mutlivariée sur os

modsurv<-coxph(Surv(os, evt_os)~fonction_renale+
                 old75, data=data_cop)
modsurv%>%tbl_regression(
  exponentiate = TRUE,pvalue_fun = scales::label_pvalue(accuracy = .001)
)
Characteristic HR 95% CI p-value
fonction_renale


    dfg_normal
    irc30 3.22 1.46, 7.12 0.004
    irc60 1.85 0.84, 4.07 0.124
patients de plus de 75 ans 1.59 0.77, 3.27 0.206
Abbreviations: CI = Confidence Interval, HR = Hazard Ratio