wd="C:\\Users\\Camilo\\Desktop\\LABORATORIO #1"
# Establecer el dir de trabajo
setwd(wd)
#Librerias necesarias
library(ggplot2)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)
library(forcats)
library(hrbrthemes)
library(viridis)
## Loading required package: viridisLite
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ lubridate 1.9.3     ✔ stringr   1.5.1
## ✔ purrr     1.0.2     ✔ tibble    3.2.1
## ✔ readr     2.1.5
## ── 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(ggcorrplot)
library(readxl)
datos_final <- read_excel("datos_final.xlsx")
View(datos_final)
datos_limpios=datos_final

Distribución de pacientes, por edad, laboratorio y genero

datos_limpios$Lab <- factor(datos_limpios$Lab)
# Asignación de colores
colores <- c("#28E0DA", "#28E09C", "#28E05D", "#2872E0", "#73E0DD", "#28E0DA")

datos_limpios$Lab <- factor(datos_limpios$Lab)

# Histograma de la edad de los pacientes
Hist_Edad <- datos_limpios %>%
  filter(Age < 100, Age > 65) %>%
  ggplot(aes(x = Age)) +
  geom_histogram(binwidth = 5, fill = colores[1], color = "#28E0DA", alpha = 0.5) +
  ggtitle("Distribución de edad de los pacientes") +
  theme_ipsum() +
  theme(plot.title = element_text(size = 15, hjust = 0.5)) +
  xlab("Edad") +  
  ylab("Cantidad de Pacientes") +
  scale_x_continuous(breaks = seq(65, 90, by = 5))  # Especifica las marcas del eje x

print(Hist_Edad)

# Histograma de la edad de los pacientes por laboratorio
Hist_Lab <- datos_limpios %>%
  ggplot(aes(x = Age)) +
  geom_histogram(binwidth = 5, fill = colores[2], color = "#28E0DA", alpha = 0.5) +
  ggtitle("Distribución de edad de los pacientes por laboratorio") +
  facet_wrap(~Lab, labeller = as_labeller(c("1" = "Metpath", "2" = "Deyor", "3" = "St. Elizabeth's", "4" = "CB Rouche", "5" ="YOH", "6" = "Horizon"))) +
  theme_ipsum() +
  theme(plot.title = element_text(size = 20, hjust = 0.5)) +
  xlab("Edad") +  
  ylab("Cantidad de Pacientes")

print(Hist_Lab)

# Box plot de la edad por laboratorios, divido sexo
Box_plotEdadLab = ggplot(datos_limpios, aes(x = Lab, y = Age, fill = Lab)) + 
  geom_boxplot(color = "Black", size = 0.5, alpha = 0.5) +
  geom_jitter(color = "Black", size = 0.4, alpha = 0.9) +
  facet_wrap(~Sex, labeller = as_labeller(c("1" = "Hombres", "2" = "Mujeres"))) +
  labs(x = "Laboratorio", y = "Edad de los pacientes", title = "Distribución de la edad de los pacientes por la laboratorio", fill = "Laboratorios") +
  scale_x_discrete(labels = c("Metpath", "Deyor", "St.Elizabeth's", "CB Rouche", "YOH", "Horizon")) +
  scale_fill_manual(values = colores, labels = c("Metpath", "Deyor", "St.Elizabeth's", "CB Rouche", "YOH", "Horizon")) +
  theme(strip.text.x = element_text(face = "bold"), axis.text.x = element_text(hjust = 1, angle = 45, vjust = 1), plot.title = element_text(hjust = 0.5))

print(Box_plotEdadLab)

Las diferencias de las variables clínicas: ALP, CaMol, PhoMol entre los grupos de edad, laboratorio y sexo

Calcio

# Asignación de colores
colores <- c("#28E0DA", "#28E09C", "#28E05D", "#2872E0", "#73E0DD", "#28E0DA")

# Centración de calcio por grupo de edad
p5 <- ggplot(datos_limpios, aes(x=AgeG, y=CaMol, fill=AgeG)) + 
  geom_violin()+
  geom_jitter(color="black", size=0.4, alpha=0.9) +
  theme(legend.position="none",
        plot.title = element_text(size=15,hjust = 0.5),strip.text.x = element_text(face ="bold"))+
  facet_wrap(~Sex, labeller = as_labeller(c("1" = "Hombres", "2" = "Mujeres"))) +
  labs(x="Rango de Edad", y= "Nivel de Calcio",title="Niveles de calcio por rango de edad y sexo") +
  scale_fill_manual(values = colores)

print(p5)

p6 <- ggplot(datos_limpios, aes(x = Lab, y = CaMol, fill = Lab, group = Lab, color = Lab)) + 
  geom_violin() +
  geom_jitter(color="black", size=0.4, alpha=0.9) +
  theme(legend.position = "none",
        plot.title = element_text(size = 15, hjust = 0.5),
        strip.text.x = element_text(face = "bold")) +
  labs(x = "Laboratorio", y = "Nivel de Calcio", title = "Niveles de concentración de calcio en pacientes por cada laboratorio ") +
  scale_x_discrete(labels = c("1" = "Metpath", "2" = "Deyor", "3" = "St. Elizabeth's", "4" = "CB Rouche", "5" ="YOH", "6" = "Horizon")) +
  scale_fill_manual(values = colores) +
  scale_color_manual(values = colores)

print(p6)

p7 <- ggplot(datos_limpios, aes(x = Sex, y = CaMol, group = Sex, color = Sex)) + 
  geom_boxplot() +
  geom_jitter(color="black", size=0.4, alpha=0.9) +
  theme(legend.position = "none",
        plot.title = element_text(size = 15, hjust = 0.5),
        strip.text.x = element_text(face = "bold")) +
  labs(x = "Sexo del paciente", y = "Nivel de Calcio", title = "Niveles de calcio por sexo del paciente")



p7

Fosforo

# Asignación de colores
colores <- c("#28E0DA", "#28E09C", "#28E05D", "#2872E0", "#73E0DD", "#28E0DA")

# Centración de calcio por grupo de edad
p9 <- ggplot(datos_limpios, aes(x=AgeG, y=PhoMol, fill=AgeG)) + 
  geom_violin()+
  geom_jitter(color="black", size=0.3, alpha=0.7) +
  theme(legend.position="none",
        plot.title = element_text(size=15,hjust = 0.5),strip.text.x = element_text(face ="bold"))+
  facet_wrap(~Sex, labeller = as_labeller(c("1" = "Hombres", "2" = "Mujeres"))) +
  labs(x="Rango de Edad", y= "Nivel de Fosforo",title="Niveles de concentración de Fosforo en pacientes por grupo de edad y sexo") +
  scale_fill_manual(values = colores)

print(p9)

p10 <- ggplot(datos_limpios, aes(x = Lab, y = PhoMol, fill = Lab, group = Lab, color = Lab)) + 
  geom_violin() +
  geom_jitter(color="black", size=0.3, alpha=0.7) +
  theme(legend.position = "none",
        plot.title = element_text(size = 15, hjust = 0.5),
        strip.text.x = element_text(face = "bold")) +
  labs(x = "Laboratorio", y = "Nivel de Fosforo", title = "Niveles de concentración de Fosforo en paciente por laboratorio ") +
  scale_x_discrete(labels = c("1" = "Metpath", "2" = "Deyor", "3" = "St. Elizabeth's", "4" = "CB Rouche", "5" ="YOH", "6" = "Horizon")) +
  scale_fill_manual(values = colores) +
  scale_color_manual(values = colores)

print(p10)

p11 <- ggplot(datos_limpios, aes(x = Sex, y = CaMol, group = Sex, color = Sex)) + 
  geom_boxplot() +
  geom_jitter(color="black", size=0.3, alpha=0.7) +
 theme(legend.position="none",
      plot.title = element_text(size=15,hjust = 0.5),strip.text.x = element_text(face ="bold")) +
  labs(x = "Sexo del paciente", y = "Nivel de Fosforo", title = "Niveles de concentración de Fosforo por sexo del paciente")



p11

fosfatasa alcalina

# Asignación de colores
colores <- c("#28E0DA", "#28E09C", "#28E05D", "#2872E0", "#73E0DD", "#28E0DA")

# Niveles de Fosfatasa Alcalina por grupo de edad y sexo
p12 <- ggplot(datos_limpios, aes(x=AgeG, y=ALP, fill=AgeG)) + 
  geom_violin()+
  geom_jitter(color="black", size=0.4, alpha=0.9) +
  theme(legend.position="none",
        plot.title = element_text(size=15,hjust = 0.5),strip.text.x = element_text(face ="bold"))+
  facet_wrap(~Sex, labeller = as_labeller(c("1" = "Hombres", "2" = "Mujeres"))) +
  labs(x="Rango de Edad", y= "Nivel de Fosfatasa Alcalina",title="Niveles de Fosfatasa Alcalina por grupo de edad y sexo") +
  scale_fill_manual(values = colores)

print(p12)

# Niveles de concentración de Alcalina por laboratorio
p13 <- ggplot(datos_limpios, aes(x = Lab, y = ALP, fill = Lab, group = Lab, color = Lab)) + 
  geom_violin() +
  geom_jitter(color="black", size=0.4, alpha=0.9) +
  theme(legend.position = "none",
        plot.title = element_text(size = 15, hjust = 0.5),
        strip.text.x = element_text(face = "bold")) +
  labs(x = "Laboratorio", y = "Nivel de Fosfatasa Alcalina", title = "Niveles de concentración de Alcalina por laboratorio ") +
  scale_x_discrete(labels = c("1" = "Metpath", "2" = "Deyor", "3" = "St. Elizabeth's", "4" = "CB Rouche", "5" ="YOH", "6" = "Horizon")) +
  scale_fill_manual(values = colores) +
  scale_color_manual(values = colores)

print(p13)

p14 <- ggplot(datos_limpios, aes(x = Sex, y = CaMol, group = Sex, color = Sex)) + 
  geom_boxplot() +
  geom_jitter(color="black", size=0.4, alpha=0.9) +
  theme(legend.position = "none",
        plot.title = element_text(size = 15, hjust = 0.5),
        strip.text.x = element_text(face = "bold")) +
  labs(x = "Sexo del paciente", y = "Nivel de Fosfatasa Alcalina", title = "Niveles de Fosfatasa Alcalina por sexo del paciente")



p14

Establecer nueva base de datos para el correlograma

da4 <- subset(datos_limpios, select = c(Age, PhoMol, CaMol, ALP)) 
names(da4) <- c("Edad", "Fosforo", "Calcio", "Fosfatasa_Alcalina")
corda4=cor(da4)

Correlogramas y gráficos de dispersión de correlación

#Correlograma
correlograma <- ggcorrplot(corda4, hc.order = TRUE, outline.col = "White", lab = TRUE,type="lower"
)+
  scale_fill_gradient(name = "Correlación",limits = c(-1, 1))+
   scale_x_discrete(labels = c("ALP"="Alf"))
## Scale for fill is already present.
## Adding another scale for fill, which will replace the existing scale.
correlograma

#Calcio y edad
his1= ggplot(da4, aes(x=Calcio, y=Edad)) + 
    geom_point(
        color="Black",
        fill="#69b3a2",
        shape=21,
        alpha=0.5,
        size=6,
        stroke = 2
        )+
  theme(legend.position = "none",
        plot.title = element_text(size = 15, hjust = 0.5),
        strip.text.x = element_text(face = "bold"))+
labs(x="Fosfatasa Alcalina", title = "Correlación edad y niveles de calcio")

print(his1)

#Fosforo y edad
his2=ggplot(da4, aes(x=Fosforo, y=Edad)) + 
    geom_point(
        color="Black",
        fill="#69b3a2",
        shape=21,
        alpha=0.5,
        size=6,
        stroke = 2
        )+
  theme(legend.position = "none",
        plot.title = element_text(size = 15, hjust = 0.5),
        strip.text.x = element_text(face = "bold"))+
labs(title = "Correlación edad y niveles de fósforo")

print(his2)

#Fosfatasa_Alcalina y edad
his3=ggplot(da4, aes(x=Fosfatasa_Alcalina, y=Edad)) + 
    geom_point(
        color="Black",
        fill="#69b3a2",
        shape=21,
        alpha=0.5,
        size=6,
        stroke = 2
        )+
  theme(legend.position = "none",
        plot.title = element_text(size = 15, hjust = 0.5),
        strip.text.x = element_text(face = "bold"))+
  labs(x="Fosfatasa Alcalina", title = "Correlación edad y niveles de fostasa alcalina")

print(his3)