library(gtsummary) # Resumen de tablas
library(tidyverse) # Manipulacipon y visualización de datos
library(tidyplots) # GráficasResultados finales febrero
Estos son los resultados “finales” para el articulo de MDSC en pacientes con AR. En este análisis se incluyen 45 pacientes, y además se realizó tratamiento de algunos datos super atípicos.
Librerías
Importar y adecuar base de datos
Se utilizó una base de datos que fue tratada y adecuada, en la que se eliminaron variables innecesaria, se realizó imputación de variables clínicamente importantes. No tiene datos de controles
df <- readRDS("../Bases/base_imputada_enero.rds")Los valores atípicos para las MDSC fue el siguiente:
df$ACTIVIDAD <- cut(df$DAS28_VSG_IICB, breaks = c(-Inf, 3.2, Inf),
labels = c("Inactivo (<3.2)", "Activo (>=3.2)"))
df$ACTIVIDAD3 <- cut(df$DAS28_VSG_IICB, breaks = c(-Inf, 2.6,3.2, Inf),
labels = c("Inactivo", "Leve", "Moderada-Alta"))
df$ACTIVIDAD2 <- cut(df$DAS28_VSG_IICB, breaks = c(-Inf, 2.6, Inf),
labels = c("Resimisión", "Activo >2.6"))
df <- df %>%
mutate(
PERC_PMN = case_when(PERC_PMN > 1 ~ 0.5, TRUE ~ PERC_PMN),# ok
CONTEO_PMN = case_when(CONTEO_PMN>1800 ~ 1100, TRUE~ CONTEO_PMN), #ok
PERC_PMN_ARG = case_when(PERC_PMN_ARG<60 ~ 80, TRUE ~ PERC_PMN_ARG), #ok
CONTEO_PMN_ARG = case_when(CONTEO_PMN_ARG>2500 ~ 2000, TRUE ~ CONTEO_PMN_ARG), # ok
PERC_MO = case_when(PERC_MO==12.8 ~ 10, TRUE~ PERC_MO), # ok
PERC_MO_ARG= case_when(PERC_MO_ARG>17.4 ~ 20, TRUE ~ PERC_MO_ARG), #ok
PERC_MO_ARG= case_when(PERC_MO_ARG==0 ~ 20, TRUE ~ PERC_MO_ARG), #ok
CONTEO_MO_ARG = case_when(CONTEO_MO_ARG>1000 ~ 250, TRUE ~ CONTEO_MO_ARG),#ok
CONTEO_MO_ARG = case_when(CONTEO_MO_ARG==0 ~ 20, TRUE ~ CONTEO_MO_ARG),#ok
MO_MFI_ARG = case_when (MO_MFI_ARG > 2000 ~ 1063, TRUE ~ MO_MFI_ARG),
MO_MFI_ARG = case_when(MO_MFI_ARG<200~ 1063, TRUE ~ MO_MFI_ARG),
PERC_e = case_when(PERC_e>1.32 ~ 0.38, TRUE ~ PERC_e),
e_MFI_ARG = case_when(e_MFI_ARG>5000 ~ 500, TRUE ~ e_MFI_ARG))
# Cambiar la varialbe otra comorbilidad
df <- df %>%
mutate(OTRA_COMORBILIDAD = if_else(OTRA_COMORBILIDAD == "NO", "NO", "SI"))
# Crear variables terapia combinada
df <- df %>%
mutate(COMBINADA = if_else(
rowSums(across(c(METOTREXATO_ANT, LEFLUNOMIDA_ANT, SULFASALAZINA_ANT), ~ . == "SI")) >= 2,
"SI",
"NO"
))Comparación de las características de los respondedores y no respondedores
df |>
select(EDAD, GENERO, TABAQUISMO, ALCOHOLISMO, DM2_COMORBILIDAD,
HAS_COMORBILIDAD, OTRA_COMORBILIDAD, EVOLUCIÓN, PREDNISONA_GCs_ANT, PREDNISONA_DOSIS_ANT, METOTREXATO_ANT, METOTREXATE_DOSIS_ANT,
LEFLUNOMIDA_ANT, LEFLUNOMIDA_DOSIS_ANT,
SULFASALAZINA_ANT, COMBINADA, AINES_ANT, ACTIVIDAD, ARTICULACIONES_DOLOROSAS, ARTICULACIONES_INFLAMADAS, VSG)|>
tbl_summary(by=ACTIVIDAD,
type = list(
PREDNISONA_DOSIS_ANT ~ "continuous",
LEFLUNOMIDA_DOSIS_ANT ~ "continuous",
METOTREXATE_DOSIS_ANT ~ "continuous",
ARTICULACIONES_INFLAMADAS ~ "continuous"))|>
add_p()|>
bold_p()|>
bold_labels()| Characteristic | Inactivo (<3.2) N = 241 |
Activo (>=3.2) N = 211 |
p-value2 |
|---|---|---|---|
| EDAD | 53 (46, 58) | 57 (55, 65) | 0.017 |
| GENERO | >0.9 | ||
| Hombre | 2 (8.3%) | 2 (9.5%) | |
| Mujer | 22 (92%) | 19 (90%) | |
| TABAQUISMO | 0.004 | ||
| NO | 16 (67%) | 5 (24%) | |
| SI | 8 (33%) | 16 (76%) | |
| ALCOHOLISMO | >0.9 | ||
| NO | 23 (96%) | 21 (100%) | |
| SI | 1 (4.2%) | 0 (0%) | |
| DM2_COMORBILIDAD | 0.5 | ||
| NO | 20 (83%) | 15 (71%) | |
| SI | 4 (17%) | 6 (29%) | |
| HAS_COMORBILIDAD | 0.5 | ||
| NO | 15 (63%) | 11 (52%) | |
| SI | 9 (38%) | 10 (48%) | |
| OTRA_COMORBILIDAD | 0.10 | ||
| NO | 4 (17%) | 8 (38%) | |
| SI | 20 (83%) | 13 (62%) | |
| EVOLUCIÓN | 9 (3, 21) | 8 (1, 22) | 0.6 |
| PREDNISONA_GCs_ANT | 0.5 | ||
| NO | 15 (63%) | 11 (52%) | |
| SI | 9 (38%) | 10 (48%) | |
| PREDNISONA_DOSIS_ANT | 0.00 (0.00, 3.75) | 0.00 (0.00, 5.00) | 0.5 |
| METOTREXATO_ANT | 0.2 | ||
| NO | 0 (0%) | 2 (9.5%) | |
| SI | 24 (100%) | 19 (90%) | |
| METOTREXATE_DOSIS_ANT | 15.0 (11.3, 15.0) | 15.0 (12.5, 15.0) | 0.5 |
| LEFLUNOMIDA_ANT | >0.9 | ||
| NO | 19 (79%) | 16 (76%) | |
| SI | 5 (21%) | 5 (24%) | |
| LEFLUNOMIDA_DOSIS_ANT | 0 (0, 10) | 0 (0, 10) | >0.9 |
| SULFASALAZINA_ANT | >0.9 | ||
| NO | 23 (96%) | 20 (95%) | |
| SI | 1 (4.2%) | 1 (4.8%) | |
| COMBINADA | 0.8 | ||
| NO | 18 (75%) | 15 (71%) | |
| SI | 6 (25%) | 6 (29%) | |
| AINES_ANT | 0.2 | ||
| NO | 1 (4.2%) | 4 (19%) | |
| SI | 23 (96%) | 17 (81%) | |
| ARTICULACIONES_DOLOROSAS | 0.0 (0.0, 1.0) | 5.0 (2.0, 8.0) | <0.001 |
| ARTICULACIONES_INFLAMADAS | 0 (0, 0) | 2 (0, 4) | <0.001 |
| VSG | 17 (8, 26) | 31 (17, 56) | 0.013 |
| 1 Median (Q1, Q3); n (%) | |||
| 2 Wilcoxon rank sum test; Fisher’s exact test; Pearson’s Chi-squared test | |||
Comparación de las células
df|>
select(PERC_PMN, CONTEO_PMN, PERC_PMN_ARG, CONTEO_PMN_ARG, PMN_MFI_ARG,
PERC_MO, CONTEO_MO, PERC_MO_ARG, CONTEO_MO_ARG, MO_MFI_ARG,
e_MFI_ARG, PERC_e, PERC_e_ARG,ACTIVIDAD)|>
tbl_summary(by=ACTIVIDAD)|>
add_p()|>
bold_p()|>
bold_labels()| Characteristic | Inactivo (<3.2) N = 241 |
Activo (>=3.2) N = 211 |
p-value2 |
|---|---|---|---|
| PERC_PMN | 0.07 (0.02, 0.15) | 0.17 (0.07, 0.31) | 0.020 |
| CONTEO_PMN | 230 (87, 451) | 262 (152, 904) | 0.2 |
| PERC_PMN_ARG | 90 (82, 97) | 95 (89, 96) | 0.9 |
| CONTEO_PMN_ARG | 173 (69, 415) | 220 (145, 848) | 0.10 |
| PMN_MFI_ARG | 2,870 (2,294, 3,412) | 2,532 (1,867, 2,829) | 0.12 |
| PERC_MO | 3.57 (1.85, 5.11) | 1.79 (1.40, 4.57) | 0.2 |
| CONTEO_MO | 9,635 (7,337, 22,068) | 4,803 (1,774, 10,143) | 0.067 |
| PERC_MO_ARG | 1.3 (0.7, 3.4) | 3.7 (1.0, 5.5) | 0.13 |
| CONTEO_MO_ARG | 131 (111, 252) | 122 (74, 218) | 0.5 |
| MO_MFI_ARG | 1,080 (944, 1,165) | 898 (733, 1,267) | 0.4 |
| e_MFI_ARG | 1,160 (946, 1,446) | 891 (500, 1,013) | 0.007 |
| PERC_e | 0.63 (0.52, 0.92) | 0.38 (0.29, 0.61) | 0.011 |
| PERC_e_ARG | 2 (1, 5) | 4 (2, 11) | 0.036 |
| 1 Median (Q1, Q3) | |||
| 2 Wilcoxon rank sum test; Wilcoxon rank sum exact test | |||
Comparación de las células monoterapia vs teraía combinada
df|>
select(PERC_PMN, CONTEO_PMN, PERC_PMN_ARG, CONTEO_PMN_ARG, PMN_MFI_ARG,
PERC_MO, CONTEO_MO, PERC_MO_ARG, CONTEO_MO_ARG, MO_MFI_ARG,
e_MFI_ARG, PERC_e, PERC_e_ARG,COMBINADA)|>
tbl_summary(by=COMBINADA)|>
add_p()|>
bold_p()|>
bold_labels()| Characteristic | NO N = 331 |
SI N = 121 |
p-value2 |
|---|---|---|---|
| PERC_PMN | 0.08 (0.04, 0.18) | 0.09 (0.06, 0.25) | 0.5 |
| CONTEO_PMN | 200 (93, 591) | 289 (240, 713) | 0.2 |
| PERC_PMN_ARG | 94 (87, 97) | 90 (83, 96) | 0.6 |
| CONTEO_PMN_ARG | 154 (83, 516) | 257 (134, 642) | 0.4 |
| PMN_MFI_ARG | 2,711 (2,210, 3,410) | 2,401 (1,910, 2,951) | 0.2 |
| PERC_MO | 2.41 (1.47, 4.59) | 4.17 (1.28, 5.33) | 0.4 |
| CONTEO_MO | 8,324 (2,813, 21,421) | 8,360 (4,164, 16,452) | 0.7 |
| PERC_MO_ARG | 1.7 (1.0, 4.5) | 1.4 (0.8, 8.9) | >0.9 |
| CONTEO_MO_ARG | 127 (95, 168) | 181 (92, 318) | 0.3 |
| MO_MFI_ARG | 1,063 (851, 1,200) | 882 (751, 1,125) | 0.4 |
| e_MFI_ARG | 985 (786, 1,195) | 1,101 (657, 1,507) | 0.6 |
| PERC_e | 0.51 (0.32, 0.71) | 0.63 (0.32, 0.82) | 0.7 |
| PERC_e_ARG | 3 (2, 6) | 4 (1, 12) | >0.9 |
| 1 Median (Q1, Q3) | |||
| 2 Wilcoxon rank sum test; Wilcoxon rank sum exact test | |||
Comparación grupos de actividad (remisión vs activos)
df|>
select(PERC_PMN, CONTEO_PMN, PERC_PMN_ARG, CONTEO_PMN_ARG, PMN_MFI_ARG,
PERC_MO, CONTEO_MO, PERC_MO_ARG, CONTEO_MO_ARG, MO_MFI_ARG,
e_MFI_ARG, PERC_e, PERC_e_ARG,ACTIVIDAD2)|>
tbl_summary(by=ACTIVIDAD2)|>
add_p()|>
bold_p()|>
bold_labels()| Characteristic | Resimisión N = 131 |
Activo >2.6 N = 321 |
p-value2 |
|---|---|---|---|
| PERC_PMN | 0.06 (0.02, 0.15) | 0.10 (0.04, 0.23) | 0.2 |
| CONTEO_PMN | 228 (75, 337) | 257 (130, 811) | 0.3 |
| PERC_PMN_ARG | 88 (80, 97) | 95 (86, 96) | 0.5 |
| CONTEO_PMN_ARG | 148 (48, 261) | 233 (126, 734) | 0.10 |
| PMN_MFI_ARG | 2,675 (2,114, 2,879) | 2,694 (2,286, 3,324) | 0.6 |
| PERC_MO | 3.76 (2.52, 5.22) | 2.07 (1.42, 4.84) | 0.15 |
| CONTEO_MO | 12,019 (8,324, 17,267) | 7,451 (2,753, 19,941) | 0.2 |
| PERC_MO_ARG | 1.7 (1.1, 4.5) | 1.5 (0.8, 4.6) | >0.9 |
| CONTEO_MO_ARG | 139 (127, 253) | 122 (74, 193) | 0.13 |
| MO_MFI_ARG | 1,045 (851, 1,146) | 1,071 (788, 1,234) | 0.8 |
| e_MFI_ARG | 1,132 (1,010, 1,282) | 923 (528, 1,339) | 0.12 |
| PERC_e | 0.54 (0.40, 0.72) | 0.52 (0.30, 0.85) | 0.6 |
| PERC_e_ARG | 3 (2, 4) | 3 (2, 11) | 0.2 |
| 1 Median (Q1, Q3) | |||
| 2 Wilcoxon rank sum test; Wilcoxon rank sum exact test | |||
Comparación grupos de actividad 3 GRUPOS
df|>
select(PERC_PMN, CONTEO_PMN, PERC_PMN_ARG, CONTEO_PMN_ARG, PMN_MFI_ARG,
PERC_MO, CONTEO_MO, PERC_MO_ARG, CONTEO_MO_ARG, MO_MFI_ARG,
e_MFI_ARG, PERC_e, PERC_e_ARG,ACTIVIDAD3)|>
tbl_summary(by=ACTIVIDAD3)|>
add_p()|>
bold_p()|>
bold_labels()| Characteristic | Inactivo N = 131 |
Leve N = 111 |
Moderada-Alta N = 211 |
p-value2 |
|---|---|---|---|---|
| PERC_PMN | 0.06 (0.02, 0.15) | 0.08 (0.03, 0.14) | 0.17 (0.07, 0.31) | 0.064 |
| CONTEO_PMN | 228 (75, 337) | 252 (93, 698) | 262 (152, 904) | 0.4 |
| PERC_PMN_ARG | 88 (80, 97) | 91 (84, 99) | 95 (89, 96) | 0.7 |
| CONTEO_PMN_ARG | 148 (48, 261) | 245 (75, 619) | 220 (145, 848) | 0.2 |
| PMN_MFI_ARG | 2,675 (2,114, 2,879) | 3,053 (2,481, 3,775) | 2,532 (1,867, 2,829) | 0.053 |
| PERC_MO | 3.76 (2.52, 5.22) | 2.99 (1.76, 5.06) | 1.79 (1.40, 4.57) | 0.3 |
| CONTEO_MO | 12,019 (8,324, 17,267) | 8,936 (6,889, 23,712) | 4,803 (1,774, 10,143) | 0.2 |
| PERC_MO_ARG | 1.7 (1.1, 4.5) | 1.3 (0.6, 1.5) | 3.7 (1.0, 5.5) | 0.2 |
| CONTEO_MO_ARG | 139 (127, 253) | 122 (74, 150) | 122 (74, 218) | 0.3 |
| MO_MFI_ARG | 1,045 (851, 1,146) | 1,087 (1,063, 1,200) | 898 (733, 1,267) | 0.5 |
| e_MFI_ARG | 1,132 (1,010, 1,282) | 1,188 (859, 1,610) | 891 (500, 1,013) | 0.026 |
| PERC_e | 0.54 (0.40, 0.72) | 0.67 (0.56, 1.12) | 0.38 (0.29, 0.61) | 0.018 |
| PERC_e_ARG | 3 (2, 4) | 2 (1, 6) | 4 (2, 11) | 0.11 |
| 1 Median (Q1, Q3) | ||||
| 2 Kruskal-Wallis rank sum test | ||||
Corrleciones
df|>
select(DAS28_VSG_IICB,
VSG, EDAD, EVOLUCIÓN, ARTICULACIONES_DOLOROSAS,
ARTICULACIONES_INFLAMADAS,
PERC_PMN, CONTEO_PMN, PERC_PMN_ARG, CONTEO_PMN_ARG, PMN_MFI_ARG,
PERC_MO, CONTEO_MO, PERC_MO_ARG, CONTEO_MO_ARG, MO_MFI_ARG,
e_MFI_ARG, PERC_e, PERC_e_ARG)-> df_corrlibrary(correlation) # Crear correlacioens
library(see) # Graficarlas df_corr[,c(1:6,7:10)]|>
correlation(method = "spearman", p_adjust = "none")|>
summary(redundant = F) |>
plot()+
theme(
axis.text.x = element_text(angle = 45, hjust = 1)
)df_corr[,c(1:6,11:14)]|>
correlation(method = "spearman", p_adjust = "none")|>
summary(redundant = F) |>
plot()+
theme(
axis.text.x = element_text(angle = 45, hjust = 1)
)df_corr[,c(1:6,15:19)]|>
correlation(method = "spearman", p_adjust = "none")|>
summary(redundant = F) |>
plot()+
theme(
axis.text.x = element_text(angle = 45, hjust = 1)
)Correlaciones parciales
library(ggraph) # needs to be loaded
plot(correlation(df_corr, partial = TRUE)) +
scale_edge_color_continuous(low = "#000004FF", high = "#FCFDBFFF")Comparación entre pacientes con distinto grados de evolución
df$EVO_Dico <- cut(df$EVOLUCIÓN, breaks = c(-Inf, 10, Inf),
labels = c("<10 años", ">=10 años"))df|>
select(PERC_PMN, CONTEO_PMN, PERC_PMN_ARG, CONTEO_PMN_ARG, PMN_MFI_ARG,
PERC_MO, CONTEO_MO, PERC_MO_ARG, CONTEO_MO_ARG, MO_MFI_ARG,
e_MFI_ARG, PERC_e, PERC_e_ARG,EVO_Dico)|>
tbl_summary(by=EVO_Dico)|>
add_p()|>
bold_p()|>
bold_labels()| Characteristic | <10 años N = 281 |
>=10 años N = 171 |
p-value2 |
|---|---|---|---|
| PERC_PMN | 0.14 (0.05, 0.28) | 0.06 (0.03, 0.15) | 0.066 |
| CONTEO_PMN | 266 (159, 841) | 197 (81, 339) | 0.13 |
| PERC_PMN_ARG | 93 (84, 96) | 95 (84, 97) | 0.6 |
| CONTEO_PMN_ARG | 253 (133, 779) | 148 (68, 291) | 0.087 |
| PMN_MFI_ARG | 2,693 (2,117, 3,146) | 2,675 (2,361, 3,240) | 0.8 |
| PERC_MO | 2.67 (1.44, 5.20) | 2.55 (1.76, 4.59) | >0.9 |
| CONTEO_MO | 7,003 (2,753, 22,068) | 8,816 (7,871, 17,167) | 0.7 |
| PERC_MO_ARG | 1.4 (0.8, 5.0) | 1.7 (1.2, 3.7) | 0.8 |
| CONTEO_MO_ARG | 125 (97, 224) | 131 (74, 250) | 0.7 |
| MO_MFI_ARG | 1,087 (847, 1,288) | 976 (733, 1,087) | 0.11 |
| e_MFI_ARG | 964 (761, 1,197) | 1,132 (795, 1,403) | 0.5 |
| PERC_e | 0.47 (0.31, 0.68) | 0.67 (0.45, 0.92) | 0.073 |
| PERC_e_ARG | 3 (2, 9) | 2 (2, 5) | 0.3 |
| 1 Median (Q1, Q3) | |||
| 2 Wilcoxon rank sum test; Wilcoxon rank sum exact test | |||