Resultados 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

library(gtsummary) # Resumen de tablas
library(tidyverse) # Manipulacipon y visualización de datos
library(tidyplots) # Gráficas

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_corr
library(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