###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)
## #BlackLivesMatter
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
data_julie <- read_excel("C:/datar/data_julie.xlsx")
## New names:
## • `Statut HER 2 (0=neg;1=pos;2=low)` -> `Statut HER 2 (0=neg;1=pos;2=low)...29`
## • `Détail ligne 2` -> `Détail ligne 2...36`
## • `Détail ligne 2` -> `Détail ligne 2...37`
## • `Détail autre` -> `Détail autre...42`
## • `Détail autre` -> `Détail autre...51`
## • `Statut HER 2 (0=neg;1=pos;2=low)` -> `Statut HER 2 (0=neg;1=pos;2=low)...82`
##chargement des données description des tooxicités
data_tox <- read_excel("C:/datar/data_tox.xlsx")
## New names:
## • `Statut HER 2 (0=neg;1=pos;2=low)` -> `Statut HER 2 (0=neg;1=pos;2=low)...29`
## • `Détail ligne 2` -> `Détail ligne 2...36`
## • `Détail ligne 2` -> `Détail ligne 2...37`
## • `Détail autre` -> `Détail autre...42`
## • `Détail autre` -> `Détail autre...51`
## • `Statut HER 2 (0=neg;1=pos;2=low)` -> `Statut HER 2 (0=neg;1=pos;2=low)...82`
##recodage des variables et bases de données le cas échéant----
data_julie$imc25<-ifelse(data_julie$imc>25, 1, 0)
data_julie$imc30<-ifelse(data_julie$imc>30, 1, 0)
data_julie$poidslourds<-ifelse(data_julie$poids>71, 1, 0)
data_tox$imc25<-ifelse(data_tox$imc>25, 1, 0)
data_tox$imc30<-ifelse(data_tox$imc>30, 1, 0)
tdxd<-filter(data_julie, c(eligible=="oui" ))
her2low<-filter(tdxd, c(her2_status=="low" ))
her2pos<-filter(tdxd, c(her2_status=="positive" ))
tox<-filter(data_tox, c(eligible=="oui" ))
toxher2low<-filter(tox, c(her2_status=="low" ))
toxher2pos<-filter(tox, c(her2_status=="positive" ))
##description population
tbl_summary(
tdxd, include = c("age", "poids", "taille", "imc", "imc25", "imc30", "her2_status", "rh", "Score ECOG", "oms.cat", "meta_liver", "meta_brain", "meta_lung", "previous_lines", "chemotherapy", "HER2i", "icdk4_6", "endocrine_therapy", "immunotherapy", "sacituzumab_govitecan", "hypoalbuminemie", "hyperbilirubinemie", "asat3n", "concession_initiale"),
)
Characteristic |
N = 93 |
age |
59 (48, 66) |
poids |
61 (52, 71) |
taille |
162 (158, 166) |
imc |
23.6 (20.0, 26.2) |
imc25 |
33 (35%) |
imc30 |
7 (7.5%) |
her2_status |
|
    low |
45 (48%) |
    positive |
48 (52%) |
rh |
|
    0 |
18 (19%) |
    1 |
74 (80%) |
    NR |
1 (1.1%) |
Score ECOG |
|
    0 |
22 (24%) |
    0/1 |
1 (1.1%) |
    1 |
52 (56%) |
    2 |
14 (15%) |
    3 |
1 (1.1%) |
    NR |
3 (3.2%) |
oms.cat |
15 (17%) |
    Unknown |
3 |
meta_liver |
54 (58%) |
meta_brain |
23 (25%) |
meta_lung |
28 (30%) |
previous_lines |
|
    1 |
12 (13%) |
    2 |
19 (20%) |
    3 |
13 (14%) |
    4 et + |
49 (53%) |
chemotherapy |
92 (99%) |
HER2i |
45 (48%) |
icdk4_6 |
44 (47%) |
endocrine_therapy |
67 (72%) |
immunotherapy |
5 (5.4%) |
sacituzumab_govitecan |
6 (6.5%) |
hypoalbuminemie |
26 (41%) |
    Unknown |
29 |
hyperbilirubinemie |
2 (2.8%) |
    Unknown |
22 |
asat3n |
12 (15%) |
    Unknown |
12 |
concession_initiale |
19 (20%) |
##description population caracteristiques patients
tbl_summary(
tdxd, include = c("age", "poids", "Dose prescrite (mg)", "taille", "imc", "imc25", "imc30", "Score ECOG", "oms.cat", "hypoalbuminemie", "hyperbilirubinemie", "asat3n", "concession_initiale"),
)
Characteristic |
N = 93 |
age |
59 (48, 66) |
poids |
61 (52, 71) |
Dose prescrite (mg) |
320 (280, 360) |
taille |
162 (158, 166) |
imc |
23.6 (20.0, 26.2) |
imc25 |
33 (35%) |
imc30 |
7 (7.5%) |
Score ECOG |
|
    0 |
22 (24%) |
    0/1 |
1 (1.1%) |
    1 |
52 (56%) |
    2 |
14 (15%) |
    3 |
1 (1.1%) |
    NR |
3 (3.2%) |
oms.cat |
15 (17%) |
    Unknown |
3 |
hypoalbuminemie |
26 (41%) |
    Unknown |
29 |
hyperbilirubinemie |
2 (2.8%) |
    Unknown |
22 |
asat3n |
12 (15%) |
    Unknown |
12 |
concession_initiale |
19 (20%) |
##description population caracteristiques patients selon imc >25
tbl_summary(
tdxd, include = c("age", "poids", "Dose prescrite (mg)", "taille","Score ECOG", "oms.cat", "hypoalbuminemie", "hyperbilirubinemie", "asat3n", "concession_initiale"),
by="imc25",
digits=all_categorical()~ c(0,1)
)%>%
add_p()
Characteristic |
0, N = 60 |
1, N = 33 |
p-value |
age |
60 (50, 66) |
55 (46, 66) |
0.5 |
poids |
55 (48, 61) |
74 (68, 80) |
<0.001 |
Dose prescrite (mg) |
290 (260, 320) |
380 (360, 440) |
<0.001 |
taille |
162 (157, 166) |
161 (160, 166) |
0.9 |
Score ECOG |
|
|
0.10 |
    0 |
16 (26.7%) |
6 (18.2%) |
|
    0/1 |
1 (1.7%) |
0 (0.0%) |
|
    1 |
30 (50.0%) |
22 (66.7%) |
|
    2 |
12 (20.0%) |
2 (6.1%) |
|
    3 |
0 (0.0%) |
1 (3.0%) |
|
    NR |
1 (1.7%) |
2 (6.1%) |
|
oms.cat |
12 (20.3%) |
3 (9.7%) |
0.2 |
    Unknown |
1 |
2 |
|
hypoalbuminemie |
15 (34.9%) |
11 (52.4%) |
0.2 |
    Unknown |
17 |
12 |
|
hyperbilirubinemie |
1 (2.1%) |
1 (4.3%) |
0.5 |
    Unknown |
12 |
10 |
|
asat3n |
6 (12.0%) |
6 (19.4%) |
0.5 |
    Unknown |
10 |
2 |
|
concession_initiale |
13 (21.7%) |
6 (18.2%) |
0.7 |
##description population caracteristiques patients selon poids>71
tbl_summary(
tdxd, include = c("age", "poids", "Dose prescrite (mg)", "taille","Score ECOG", "oms.cat", "hypoalbuminemie", "hyperbilirubinemie", "asat3n", "concession_initiale"),
by="poidslourds",
digits=all_categorical()~ c(0,1)
)%>%
add_p()
Characteristic |
0, N = 71 |
1, N = 22 |
p-value |
age |
59 (48, 66) |
54 (46, 64) |
0.5 |
poids |
57 (50, 64) |
78 (75, 81) |
<0.001 |
Dose prescrite (mg) |
300 (260, 340) |
420 (385, 440) |
<0.001 |
taille |
161 (157, 165) |
164 (161, 166) |
0.039 |
Score ECOG |
|
|
0.4 |
    0 |
18 (25.4%) |
4 (18.2%) |
|
    0/1 |
1 (1.4%) |
0 (0.0%) |
|
    1 |
36 (50.7%) |
16 (72.7%) |
|
    2 |
13 (18.3%) |
1 (4.5%) |
|
    3 |
1 (1.4%) |
0 (0.0%) |
|
    NR |
2 (2.8%) |
1 (4.5%) |
|
oms.cat |
14 (20.3%) |
1 (4.8%) |
0.2 |
    Unknown |
2 |
1 |
|
hypoalbuminemie |
20 (39.2%) |
6 (46.2%) |
0.6 |
    Unknown |
20 |
9 |
|
hyperbilirubinemie |
2 (3.5%) |
0 (0.0%) |
>0.9 |
    Unknown |
14 |
8 |
|
asat3n |
9 (14.8%) |
3 (15.0%) |
>0.9 |
    Unknown |
10 |
2 |
|
concession_initiale |
15 (21.1%) |
4 (18.2%) |
>0.9 |
##description pathologies
tbl_summary(
tdxd, include = c("her2_status", "rh", "meta_liver", "meta_brain", "meta_lung", "previous_lines", "chemotherapy", "HER2i", "icdk4_6", "endocrine_therapy", "immunotherapy", "sacituzumab_govitecan"),
)
Characteristic |
N = 93 |
her2_status |
|
    low |
45 (48%) |
    positive |
48 (52%) |
rh |
|
    0 |
18 (19%) |
    1 |
74 (80%) |
    NR |
1 (1.1%) |
meta_liver |
54 (58%) |
meta_brain |
23 (25%) |
meta_lung |
28 (30%) |
previous_lines |
|
    1 |
12 (13%) |
    2 |
19 (20%) |
    3 |
13 (14%) |
    4 et + |
49 (53%) |
chemotherapy |
92 (99%) |
HER2i |
45 (48%) |
icdk4_6 |
44 (47%) |
endocrine_therapy |
67 (72%) |
immunotherapy |
5 (5.4%) |
sacituzumab_govitecan |
6 (6.5%) |
##description pathologies selon imc>25
tbl_summary(
tdxd, include = c("her2_status", "rh", "meta_liver", "meta_brain", "meta_lung", "previous_lines", "chemotherapy", "HER2i", "icdk4_6", "endocrine_therapy", "immunotherapy", "sacituzumab_govitecan"),
by="imc25",
digits=all_categorical()~ c(0,1)
)%>%
add_p()
Characteristic |
0, N = 60 |
1, N = 33 |
p-value |
her2_status |
|
|
>0.9 |
    low |
29 (48.3%) |
16 (48.5%) |
|
    positive |
31 (51.7%) |
17 (51.5%) |
|
rh |
|
|
0.2 |
    0 |
10 (16.7%) |
8 (24.2%) |
|
    1 |
50 (83.3%) |
24 (72.7%) |
|
    NR |
0 (0.0%) |
1 (3.0%) |
|
meta_liver |
34 (56.7%) |
20 (60.6%) |
0.7 |
meta_brain |
14 (23.3%) |
9 (27.3%) |
0.7 |
meta_lung |
22 (36.7%) |
6 (18.2%) |
0.063 |
previous_lines |
|
|
0.4 |
    1 |
10 (16.7%) |
2 (6.1%) |
|
    2 |
11 (18.3%) |
8 (24.2%) |
|
    3 |
7 (11.7%) |
6 (18.2%) |
|
    4 et + |
32 (53.3%) |
17 (51.5%) |
|
chemotherapy |
59 (98.3%) |
33 (100.0%) |
>0.9 |
HER2i |
29 (48.3%) |
16 (48.5%) |
>0.9 |
icdk4_6 |
28 (46.7%) |
16 (48.5%) |
0.9 |
endocrine_therapy |
43 (71.7%) |
24 (72.7%) |
>0.9 |
immunotherapy |
4 (6.7%) |
1 (3.0%) |
0.7 |
sacituzumab_govitecan |
3 (5.0%) |
3 (9.1%) |
0.7 |
##description pathologies selon poids >71
tbl_summary(
tdxd, include = c("her2_status", "rh", "meta_liver", "meta_brain", "meta_lung", "previous_lines", "chemotherapy", "HER2i", "icdk4_6", "endocrine_therapy", "immunotherapy", "sacituzumab_govitecan"),
by="poidslourds",
digits=all_categorical()~ c(0,1)
)%>%
add_p()
Characteristic |
0, N = 71 |
1, N = 22 |
p-value |
her2_status |
|
|
0.8 |
    low |
35 (49.3%) |
10 (45.5%) |
|
    positive |
36 (50.7%) |
12 (54.5%) |
|
rh |
|
|
0.3 |
    0 |
14 (19.7%) |
4 (18.2%) |
|
    1 |
57 (80.3%) |
17 (77.3%) |
|
    NR |
0 (0.0%) |
1 (4.5%) |
|
meta_liver |
42 (59.2%) |
12 (54.5%) |
0.7 |
meta_brain |
16 (22.5%) |
7 (31.8%) |
0.4 |
meta_lung |
24 (33.8%) |
4 (18.2%) |
0.2 |
previous_lines |
|
|
0.7 |
    1 |
10 (14.1%) |
2 (9.1%) |
|
    2 |
13 (18.3%) |
6 (27.3%) |
|
    3 |
9 (12.7%) |
4 (18.2%) |
|
    4 et + |
39 (54.9%) |
10 (45.5%) |
|
chemotherapy |
70 (98.6%) |
22 (100.0%) |
>0.9 |
HER2i |
33 (46.5%) |
12 (54.5%) |
0.5 |
icdk4_6 |
34 (47.9%) |
10 (45.5%) |
0.8 |
endocrine_therapy |
51 (71.8%) |
16 (72.7%) |
>0.9 |
immunotherapy |
5 (7.0%) |
0 (0.0%) |
0.3 |
sacituzumab_govitecan |
4 (5.6%) |
2 (9.1%) |
0.6 |
##description toxicités
tbl_summary(
tox, include = c("introduction_gcsf", "neutropenie", "neutropenie_gcsf2","neurotoxicite", "infection","thrombopenie","anemie","diarrhee","nausees","vomissements","rgo_dyspepsie","hepatotoxicite","cholecystite","toxicite_cutanee","toxicite_muqueuse","neurotoxicite","fatigue","perte_poids","arthralgies","toux_dyspnee","pneumopathies interstitelle","cardiaque"),
by="grade_tox",
)
Characteristic |
cliniquement_significatif, N = 93 |
tout_grade, N = 93 |
introduction_gcsf |
4 (4.3%) |
14 (15%) |
neutropenie |
12 (13%) |
15 (16%) |
neutropenie_gcsf2 |
16 (17%) |
19 (20%) |
neurotoxicite |
1 (1.1%) |
9 (9.7%) |
infection |
1 (1.1%) |
1 (1.1%) |
thrombopenie |
5 (5.4%) |
7 (7.5%) |
anemie |
1 (1.1%) |
11 (12%) |
diarrhee |
5 (5.4%) |
46 (49%) |
nausees |
8 (8.6%) |
62 (67%) |
vomissements |
2 (2.2%) |
22 (24%) |
rgo_dyspepsie |
3 (3.2%) |
11 (12%) |
hepatotoxicite |
3 (3.2%) |
46 (49%) |
cholecystite |
1 (1.1%) |
1 (1.1%) |
toxicite_cutanee |
0 (0%) |
2 (2.2%) |
toxicite_muqueuse |
1 (1.1%) |
1 (1.1%) |
fatigue |
20 (22%) |
83 (89%) |
perte_poids |
3 (3.2%) |
26 (28%) |
arthralgies |
0 (0%) |
17 (18%) |
toux_dyspnee |
1 (1.1%) |
22 (24%) |
pneumopathies interstitelle |
7 (7.5%) |
7 (7.5%) |
cardiaque |
1 (1.1%) |
1 (1.1%) |
##description des consequences cliniques des toxicités
tbl_summary(
tdxd, include = c("total_diminution_dose", "total_report_cure", "total_arret_tt", "total_prophylaxie_gscf", "total_transfusion_cp", "total_transfusion_gr", "total_hospitalisation"),
)
Characteristic |
N = 93 |
total_diminution_dose |
32 (34%) |
total_report_cure |
18 (19%) |
total_arret_tt |
12 (13%) |
total_prophylaxie_gscf |
12 (13%) |
total_transfusion_cp |
1 (1.1%) |
total_transfusion_gr |
1 (1.1%) |
total_hospitalisation |
3 (3.2%) |
##durée de traitement
km_tt<-survfit(Surv(tdxd$durtt, tdxd$evtt)~1)
km_tt
## Call: survfit(formula = Surv(tdxd$durtt, tdxd$evtt) ~ 1)
##
## n events median 0.95LCL 0.95UCL
## [1,] 93 48 9.1 7.13 11.2
##motifs d'arrêt
tbl_summary(
tdxd, include = c("motif_arret"),
)
Characteristic |
N = 93 |
motif_arret |
|
    0 |
44 (47%) |
    DECES |
3 (3.2%) |
    PERDU DE VUE |
1 (1.1%) |
    Perdu de vue (rappatriement en géorgie) |
1 (1.1%) |
    PROGRESSION |
32 (34%) |
    TOXICITE |
12 (13%) |
##Survie sans progression
km_pfs<-survfit(Surv(tdxd$pfs, tdxd$evtpfs)~1)
km_pfs
## Call: survfit(formula = Surv(tdxd$pfs, tdxd$evtpfs) ~ 1)
##
## n events median 0.95LCL 0.95UCL
## [1,] 93 37 10.3 8.63 NA
ggsurvplot(km_pfs, data = tdxd,
risk.table=TRUE,
surv.scale="percent",
break.time.by=3,
surv.median.line = "hv"
)

##Survie globale
km_os<-survfit(Surv(tdxd$os, tdxd$evtos)~1)
km_os
## Call: survfit(formula = Surv(tdxd$os, tdxd$evtos) ~ 1)
##
## 1 observation effacée parce que manquante
## n events median 0.95LCL 0.95UCL
## [1,] 92 16 24.7 22.3 NA
ggsurvplot(km_os, data = tdxd,
risk.table=TRUE,
surv.scale="percent",
break.time.by=3,
surv.median.line = "hv"
)

##Survie sans toxicité significative
km_toxfs<-survfit(Surv(tdxd$toxfs, tdxd$evttox)~1)
km_toxfs
## Call: survfit(formula = Surv(tdxd$toxfs, tdxd$evttox) ~ 1)
##
## n events median 0.95LCL 0.95UCL
## [1,] 93 51 3.85 2.55 15.5
ggsurvplot(km_toxfs, data = tdxd,
risk.table=TRUE,
surv.scale="percent",
break.time.by=3,
surv.median.line = "hv"
)

## Influence de IMC>25 sur survie sans toxicité significative
km_toxfsimc<-survfit(Surv(toxfs, evttox)~imc25, data=tdxd)
ggsurvplot(km_toxfsimc, data = tdxd,
risk.table=TRUE,
surv.scale="percent",
break.time.by=3,
surv.median.line = "hv"
)

## Influence de poids >3eme quartile sur survie sans toxicité significative
km_toxfspoids<-survfit(Surv(toxfs, evttox)~poidslourds, data=tdxd)
ggsurvplot(km_toxfspoids, data = tdxd,
risk.table=TRUE,
surv.scale="percent",
break.time.by=3,
surv.median.line = "hv"
)

#modele de cox effet de imc25
modsurv<-coxph(Surv(toxfs, evttox)~imc25, data=tdxd)
modsurv%>%tbl_regression(exponentiate = TRUE)
Characteristic |
HR |
95% CI |
p-value |
imc25 |
1.05 |
0.59, 1.88 |
0.9 |
#modele de cox effet de poids>71
modsurv<-coxph(Surv(toxfs, evttox)~poidslourds, data=tdxd)
modsurv%>%tbl_regression(exponentiate = TRUE)
Characteristic |
HR |
95% CI |
p-value |
poidslourds |
1.88 |
1.02, 3.46 |
0.042 |