###Analyse Trastuzumab_dxd et IMC
##chargement des packages----
library(questionr)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.1     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.2     ✔ tibble    3.2.1
## ✔ lubridate 1.9.2     ✔ tidyr     1.3.0
## ✔ purrr     1.0.1     
## ── 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)
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2
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
## 
## Attachement du package : 'survminer'
## 
## L'objet suivant est masqué depuis 'package:survival':
## 
##     myeloma
library(ggplot2)
##chargement des données globales


pd1progression <- read_excel("Y:/PHARMACOTECHNIE/TRAVAUX/Sujets Pharmacie clinique/PD1-VELBE/pd1progression.xlsx")
## New names:
## • `Traitement arrêté` -> `Traitement arrêté...21`
## • `Si arrêt` -> `Si arrêt...22`
## • `Traitement arrêté` -> `Traitement arrêté...28`
## • `Si arrêt` -> `Si arrêt...31`
## • `Date 1er évènement toxique` -> `Date 1er évènement toxique...47`
## • `Type toxicité` -> `Type toxicité...48`
## • `Grade` -> `Grade...49`
## • `Date 1er évènement toxique` -> `Date 1er évènement toxique...55`
## • `Type toxicité` -> `Type toxicité...56`
## • `Grade` -> `Grade...57`
##recodage des variables et bases de données le cas échéant----
pd1seul<-filter(pd1progression, c(phase=="pd1seul" ))
pd1velbe<-filter(pd1progression, c(phase=="pd1_velbe" ))

##description population 
tbl_summary(
  pd1seul, include = c("sex","Stade", "ligne_tt", "atcd_asct"),
)
Characteristic N = 81
sex
    F 2 (25%)
    H 6 (75%)
Stade
    2 2 (25%)
    3 3 (38%)
    4 3 (38%)
ligne_tt
    3 1 (12%)
    4 2 (25%)
    5 et + 5 (62%)
atcd_asct 6 (75%)
1 n (%)
##age
summary(pd1seul$age)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   22.00   36.00   47.50   43.62   51.50   58.00
##anciennete maladie
summary(pd1seul$anciennete)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   15.17   25.47   45.07   49.11   54.80  125.87
##delai d'instauration du velbe 
summary(pd1seul$delai_instauration_velbe)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   3.633   5.800   9.250  15.492  21.750  42.267
## PFS selon phase de traitement 
km_pd1velbe<-survfit(Surv(pfs, evtpfs)~phase, data=pd1progression)

ggsurvplot(km_pd1velbe, data = pd1progression,
           risk.table=TRUE,
           surv.scale="percent",
           break.time.by=6,
           surv.median.line = "hv"
)

##PFS période pd1 seul
km_pd1<-survfit(Surv(pfs, evtpfs)~1, data=pd1seul)
km_pd1
## Call: survfit(formula = Surv(pfs, evtpfs) ~ 1, data = pd1seul)
## 
##      n events median 0.95LCL 0.95UCL
## [1,] 8      8   9.25    6.33      NA
##PFS péridoe PD1+Velbe
km_pd1vinb<-survfit(Surv(pfs, evtpfs)~1, data=pd1velbe)
km_pd1vinb
## Call: survfit(formula = Surv(pfs, evtpfs) ~ 1, data = pd1velbe)
## 
##      n events median 0.95LCL 0.95UCL
## [1,] 8      7   14.9     4.8      NA