1. Introducción

En este documento se presenta un análisis exploratorio de una base de datos relacionada con el comportamiento de las muestras de laboratorio y su tasa de rechazo. Se realiza la exploración inicial de la base, la limpieza de los datos, la identificación del tipo de variables, algunas operaciones básicas y la construcción de una matriz de correlación con su respectivo mapa de calor.

2. Cargar librerías

library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
library(corrplot)
## corrplot 0.95 loaded

3. Cargar base de datos y exploración inicial

Matriz <- read.csv("Matriz_limpia_comas.csv")

# Dimensiones y nombres de variables
dim(Matriz)
## [1]  5 16
names(Matriz)
##  [1] "Estudio"                "Autores"                "Año"                   
##  [4] "Pais"                   "Institucion"            "Complejidad"           
##  [7] "Metodologia"            "Duración.meses"         "total.muestras"        
## [10] "Muestras.Rechazadas"    "Tasa.Rechazo"           "Sigma"                 
## [13] "Error.Principal"        "Servicio.mas.afectado"  "Tipo.fallas.reportadas"
## [16] "Notas"
# Primeras filas
head(Matriz)
##                                                                                                                                                                                     Estudio
## 1        Costos de no calidad asociados con eventos adversos e incidentes en laboratorio clínico del Hospital San Juan Bautista de Chaparral Tolima durante el primer semestre del año 2024
## 2                                                                  Challenges in Preanalytical Phase of Laboratory Medicine: Rate of Blood Sample Nonconformity in a Tertiary Care Hospital
## 3 Plan de mejoramiento para disminuir los errores en la fase preanalítica en los análisis de laboratorio en la Clínica Regional de Occidente de la Policía Nacional Seccional Sanidad Valle
## 4                                                                              Evaluation of pre-analytical specimen rejection using Six Sigma metrics: A retrospective single-center study
## 5                                                                                                Preanalytical Errors in a Hematology Laboratory: An Experience from a Tertiary Care Center
##                                                      Autores  Año
## 1 Páez Marchena, M., Zuñiga Andrade, L., & Gallo Baquero, P. 2024
## 2              Alavi, N.; Khan, S. H.; Saadia, A.; Naeem, T. 2020
## 3                 Pabón Martínez, H., & Londoño Núñez, P. A. 2018
## 4          Cheng, X.; Yu, H.; Zhang, L.; Zhang, B.; Wang, Q. 2025
## 5                               Mohammad Shahid Iqbal et al. 2023
##             Pais
## 1       Colombia
## 2       Pakistan
## 3       Colombia
## 4          China
## 5 Arabia Saudita
##                                                                    Institucion
## 1                             Hospital San Juan Bautista de Chaparral (Tolima)
## 2                                                            Hospital Shalamar
## 3 Clínica Regional de Occidente de la Policía Nacional Seccional Sanidad Valle
## 4                                                      Tianjin Huanhu Hospital
## 5           Department of Laboratory Medicine, Umm al Qura University (Makkah)
##     Complejidad                Metodologia Duración.meses total.muestras
## 1 Segundo nivel Descriptivo, enfoque mixto             12             NA
## 2  Tercer nivel Descriptivo, retrospectivo             12         113817
## 3  Tercer nivel  Exploratorio, descriptivo              6           9188
## 4  Tercer nivel Retrospectivo, descriptivo             36        2068074
## 5  Tercer nivel Retrospectivo, descriptivo             12          67892
##   Muestras.Rechazadas Tasa.Rechazo Sigma       Error.Principal
## 1                  NA           NA    NA                      
## 2                1688        1.480    NA Muestra sin etiquetar
## 3                 315        3.400    NA    Muestra hemolizada
## 4                2214        0.107  4.57     Muestra coagulada
## 5                 886        1.300    NA  Muestra insuficiente
##        Servicio.mas.afectado
## 1                           
## 2                           
## 3 Urgencias, hospitalización
## 4                  Urgencias
## 5                  Pediatría
##                                                                                                                                                                                                                                                    Tipo.fallas.reportadas
## 1 Identificación, rotulación, resultados equivocados, fallas transfusionales, traslado de muestras, ingreso de muestras, pérdida, paciente equivocado, no entrega a proceso, inoportunidad del resultado, muestra que no cumple criterios, no procesada, error digitación
## 2                                                                                                                                                               Sin etiquetar, coagulada, diluída, historial incorrecto, hemolizada, tubo incorrecto, cantidad incorrecta
## 3                                                                                                                                                                                                          Muestras hemolizadas, coaguladas, insuficientes, mal rotuladas
## 4                                 Solicitudes incorrectas, transporte inapropiado, recipiente incorrecto, volumen insuficiente, proporción incorrecta, hemolizadas, lipémicas, muestra sin muestra, duplicadas, contaminadas IV, derramadas, paciente incorrecto, pérdida
## 5                                                                                                                                           Tubo inapropiado, coagulada, insuficiente, hemolizada, diluida, exceso, error etiquetado, retraso transferencia, vacio/dañado
##                                                               Notas
## 1                              Tesis conceptual sin datos numéricos
## 2 Estudio con datos cuantitativos completos sobre fase preanalítica
## 3                          Incluye análisis causa-raíz con Ishikawa
## 4                     Aplica métricas Six Sigma (DPMO, nivel sigma)
## 5                                   Hospital terciario, hematología
# Estructura y resumen general
str(Matriz)
## 'data.frame':    5 obs. of  16 variables:
##  $ Estudio               : chr  "Costos de no calidad asociados con eventos adversos e incidentes en laboratorio clínico del Hospital San Juan B"| __truncated__ "Challenges in Preanalytical Phase of Laboratory Medicine: Rate of Blood Sample Nonconformity in a Tertiary Care Hospital" "Plan de mejoramiento para disminuir los errores en la fase preanalítica en los análisis de laboratorio en la Cl"| __truncated__ "Evaluation of pre-analytical specimen rejection using Six Sigma metrics: A retrospective single-center study" ...
##  $ Autores               : chr  "Páez Marchena, M., Zuñiga Andrade, L., & Gallo Baquero, P." "Alavi, N.; Khan, S. H.; Saadia, A.; Naeem, T." "Pabón Martínez, H., & Londoño Núñez, P. A." "Cheng, X.; Yu, H.; Zhang, L.; Zhang, B.; Wang, Q." ...
##  $ Año                   : int  2024 2020 2018 2025 2023
##  $ Pais                  : chr  "Colombia" "Pakistan" "Colombia" "China" ...
##  $ Institucion           : chr  "Hospital San Juan Bautista de Chaparral (Tolima)" "Hospital Shalamar" "Clínica Regional de Occidente de la Policía Nacional Seccional Sanidad Valle" "Tianjin Huanhu Hospital" ...
##  $ Complejidad           : chr  "Segundo nivel" "Tercer nivel" "Tercer nivel" "Tercer nivel" ...
##  $ Metodologia           : chr  "Descriptivo, enfoque mixto" "Descriptivo, retrospectivo" "Exploratorio, descriptivo" "Retrospectivo, descriptivo" ...
##  $ Duración.meses        : int  12 12 6 36 12
##  $ total.muestras        : num  NA 113817 9188 2068074 67892
##  $ Muestras.Rechazadas   : num  NA 1688 315 2214 886
##  $ Tasa.Rechazo          : num  NA 1.48 3.4 0.107 1.3
##  $ Sigma                 : num  NA NA NA 4.57 NA
##  $ Error.Principal       : chr  "" "Muestra sin etiquetar" "Muestra hemolizada" "Muestra coagulada" ...
##  $ Servicio.mas.afectado : chr  "" "" "Urgencias, hospitalización" "Urgencias" ...
##  $ Tipo.fallas.reportadas: chr  "Identificación, rotulación, resultados equivocados, fallas transfusionales, traslado de muestras, ingreso de mu"| __truncated__ "Sin etiquetar, coagulada, diluída, historial incorrecto, hemolizada, tubo incorrecto, cantidad incorrecta" "Muestras hemolizadas, coaguladas, insuficientes, mal rotuladas" "Solicitudes incorrectas, transporte inapropiado, recipiente incorrecto, volumen insuficiente, proporción incorr"| __truncated__ ...
##  $ Notas                 : chr  "Tesis conceptual sin datos numéricos" "Estudio con datos cuantitativos completos sobre fase preanalítica" "Incluye análisis causa-raíz con Ishikawa" "Aplica métricas Six Sigma (DPMO, nivel sigma)" ...
summary(Matriz)
##    Estudio            Autores               Año           Pais          
##  Length:5           Length:5           Min.   :2018   Length:5          
##  Class :character   Class :character   1st Qu.:2020   Class :character  
##  Mode  :character   Mode  :character   Median :2023   Mode  :character  
##                                        Mean   :2022                     
##                                        3rd Qu.:2024                     
##                                        Max.   :2025                     
##                                                                         
##  Institucion        Complejidad        Metodologia        Duración.meses
##  Length:5           Length:5           Length:5           Min.   : 6.0  
##  Class :character   Class :character   Class :character   1st Qu.:12.0  
##  Mode  :character   Mode  :character   Mode  :character   Median :12.0  
##                                                           Mean   :15.6  
##                                                           3rd Qu.:12.0  
##                                                           Max.   :36.0  
##                                                                         
##  total.muestras    Muestras.Rechazadas  Tasa.Rechazo       Sigma     
##  Min.   :   9188   Min.   : 315.0      Min.   :0.107   Min.   :4.57  
##  1st Qu.:  53216   1st Qu.: 743.2      1st Qu.:1.002   1st Qu.:4.57  
##  Median :  90855   Median :1287.0      Median :1.390   Median :4.57  
##  Mean   : 564743   Mean   :1275.8      Mean   :1.572   Mean   :4.57  
##  3rd Qu.: 602381   3rd Qu.:1819.5      3rd Qu.:1.960   3rd Qu.:4.57  
##  Max.   :2068074   Max.   :2214.0      Max.   :3.400   Max.   :4.57  
##  NA's   :1         NA's   :1           NA's   :1       NA's   :4     
##  Error.Principal    Servicio.mas.afectado Tipo.fallas.reportadas
##  Length:5           Length:5              Length:5              
##  Class :character   Class :character      Class :character      
##  Mode  :character   Mode  :character      Mode  :character      
##                                                                 
##                                                                 
##                                                                 
##                                                                 
##     Notas          
##  Length:5          
##  Class :character  
##  Mode  :character  
##                    
##                    
##                    
## 

4. Limpieza y selección de variables numéricas

numericas <- Matriz %>%
  dplyr::select(Duración.meses, total.muestras, Muestras.Rechazadas, Tasa.Rechazo)

# Eliminar filas con valores perdidos
numericas <- na.omit(numericas)

# Resumen de las variables numéricas
summary(numericas)
##  Duración.meses total.muestras    Muestras.Rechazadas  Tasa.Rechazo  
##  Min.   : 6.0   Min.   :   9188   Min.   : 315.0      Min.   :0.107  
##  1st Qu.:10.5   1st Qu.:  53216   1st Qu.: 743.2      1st Qu.:1.002  
##  Median :12.0   Median :  90855   Median :1287.0      Median :1.390  
##  Mean   :16.5   Mean   : 564743   Mean   :1275.8      Mean   :1.572  
##  3rd Qu.:18.0   3rd Qu.: 602381   3rd Qu.:1819.5      3rd Qu.:1.960  
##  Max.   :36.0   Max.   :2068074   Max.   :2214.0      Max.   :3.400

5. Histograma de la tasa de rechazo

El histograma permite observar la distribución de la tasa de rechazo a lo largo del periodo evaluado, identificando si hay mayor concentración de valores altos o bajos.

ggplot(Matriz, aes(x = Tasa.Rechazo)) +
  geom_histogram(bins = 10, fill = "skyblue", color = "black") +
  labs(title = "Distribución de la tasa de rechazo",
       x = "Tasa de rechazo",
       y = "Frecuencia")
## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_bin()`).

Interpretación:
La mayor parte de las observaciones se concentran en valores bajos de tasa de rechazo, lo que indica un buen desempeño general del proceso. La dispersión observada sugiere que en algunos periodos hubo mayor variabilidad en los errores preanalíticos.

6. Gráfico de dispersión: total de muestras vs tasa de rechazo

Este gráfico permite analizar si existe relación entre el volumen procesado y la proporción de errores cometidos.

ggplot(Matriz, aes(x = total.muestras, y = Tasa.Rechazo)) +
  geom_point(color = "darkred") +
  labs(title = "Relación entre total de muestras y tasa de rechazo",
       x = "Total de muestras",
       y = "Tasa de rechazo")
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).

Interpretación:
Aunque a medida que aumenta el número total de muestras también aumentan los rechazos en términos absolutos, la tasa de rechazo no aumenta proporcionalmente. Esto sugiere que, incluso con mayor carga de trabajo, el laboratorio mantiene niveles aceptables de calidad.

7. Resumen estadístico por variable

A continuación se presenta un resumen estadístico para cada variable numérica seleccionada.

for (nombre in names(numericas)) {
  cat("Resumen de la variable:", nombre, "\n")
  print(summary(numericas[[nombre]]))
  cat("\n-----------------------------\n")
}
## Resumen de la variable: Duración.meses 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##     6.0    10.5    12.0    16.5    18.0    36.0 
## 
## -----------------------------
## Resumen de la variable: total.muestras 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    9188   53216   90855  564743  602381 2068074 
## 
## -----------------------------
## Resumen de la variable: Muestras.Rechazadas 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   315.0   743.2  1287.0  1275.8  1819.5  2214.0 
## 
## -----------------------------
## Resumen de la variable: Tasa.Rechazo 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.107   1.002   1.390   1.572   1.960   3.400 
## 
## -----------------------------

8. Matriz de correlación

La matriz de correlación muestra la magnitud y dirección de las relaciones entre las variables numéricas.

cor_matrix <- cor(numericas)
cor_matrix
##                     Duración.meses total.muestras Muestras.Rechazadas
## Duración.meses           1.0000000      0.9844082           0.8419179
## total.muestras           0.9844082      1.0000000           0.7706544
## Muestras.Rechazadas      0.8419179      0.7706544           1.0000000
## Tasa.Rechazo            -0.8480811     -0.7416558          -0.8901565
##                     Tasa.Rechazo
## Duración.meses        -0.8480811
## total.muestras        -0.7416558
## Muestras.Rechazadas   -0.8901565
## Tasa.Rechazo           1.0000000

9. Mapa de calor de la matriz de correlación

El mapa de calor facilita la visualización de la matriz de correlación, destacando con colores las correlaciones positivas y negativas.

corrplot(cor_matrix,
         method = "color",
         addCoef.col = "black",   # muestra el valor
         tl.col = "black",        # color de los nombres
         number.cex = 0.9,        # tamaño de los números
         col = colorRampPalette(c("lightblue","yellow","red"))(200))

10. Interpretación global

A partir de los resultados obtenidos se destacan los siguientes hallazgos:

En conjunto, el análisis exploratorio indica que el laboratorio maneja un volumen creciente de muestras y que, pese a ello, la tasa de rechazo global se mantiene controlada, lo cual es consistente con un proceso de mejora progresiva en la etapa preanalítica.