## Cargando paquete requerido: splines
## Cargando paquete requerido: RcmdrMisc
## Cargando paquete requerido: car
## Cargando paquete requerido: carData
## Cargando paquete requerido: sandwich
## Cargando paquete requerido: effects
## Registered S3 method overwritten by 'lme4':
## method from
## na.action.merMod car
## lattice theme set by effectsTheme()
## See ?effectsTheme for details.
## La interfaz R-Commander sólo funciona en sesiones interactivas
##
## Adjuntando el paquete: 'Rcmdr'
## The following object is masked from 'package:base':
##
## errorCondition
CARGADO DE DATOS
> library(readxl)
>
> DATATEST <- read_excel(file.choose())
>
> head(DATATEST)
# A tibble: 6 × 13
Individuo Edad Genero Severidad_de_Síntomas Hospitalizado
<chr> <dbl> <chr> <chr> <chr>
1 #1 56 Femenino Leve No
2 #2 69 Femenino Severo No
3 #3 46 Femenino Leve Sí
4 #4 32 Femenino Leve No
5 #5 60 Masculino Moderado No
6 #6 25 Masculino Leve No
# ℹ 8 more variables: Dias_para_la_recuperacion <dbl>, Nivel_de_fatiga <dbl>,
# Problemas_respiratorios <chr>, Niebla_mental <chr>,
# Pérdida_del_gusto_y_el_olfato <chr>, Nivel_de_actividad_física <chr>,
# Impacto_en_la_salud_mental <dbl>, Riesgo_de_covid_prolongado <chr>
GENERACIÓN ESTADISTICOS EDAD
> library(moments)
> stats_univariado <- data.frame(
+ Media = mean(DATATEST$Edad, na.rm = TRUE),
+ Mediana = median(DATATEST$Edad, na.rm = TRUE),
+ Desv_Std = sd(DATATEST$Edad, na.rm = TRUE),
+ Asimetria = skewness(DATATEST$Edad, na.rm = TRUE),
+ Curtosis = kurtosis(DATATEST$Edad, na.rm = TRUE)
+ )
> print(stats_univariado)
Media Mediana Desv_Std Asimetria Curtosis
1 43.32338 43 14.97397 -0.04406429 1.823043
GENERACION HISTOGRAMA EDAD
> library (ggplot2)
> ggplot(DATATEST, aes(x = Edad)) +
+ geom_histogram(bins = 15, fill = "skyblue", color = "black", alpha = 0.7)
GENERACIÓN ESTADISTICOS DIAS DE RECCUPERACIÓN
> stats_dias <- data.frame(
+ Variable = "Días Recuperación",
+ Media = round(mean(DATATEST$Dias_para_la_recuperacion, na.rm = TRUE), 2),
+ Mediana = round(median(DATATEST$Dias_para_la_recuperacion, na.rm = TRUE), 2),
+ Desv_Std = round(sd(DATATEST$Dias_para_la_recuperacion, na.rm = TRUE), 2),
+ Asimetria = round(skewness(DATATEST$Dias_para_la_recuperacion, na.rm = TRUE), 2),
+ Curtosis = round(kurtosis(DATATEST$Dias_para_la_recuperacion, na.rm = TRUE), 2)
+ )
> print(stats_dias)
Variable Media Mediana Desv_Std Asimetria Curtosis
1 Días Recuperación 95.86 107 52.32 -0.19 1.69
GENERACION HISTOGRAMA DIAS DE RECUPERACIÓN
> ggplot(DATATEST, aes(x = Dias_para_la_recuperacion)) +
+ geom_histogram(bins = 20, fill = "salmon", color = "darkred", alpha = 0.6) +
+ labs(title = "Distribución de Días para la Recuperación",
+ x = "Días",
+ y = "Cantidad de Personas") +
+ theme_classic()
GENERACIÓN TABLA ESTADISTICOS NIVEL DE FATIGA
> stats_fatiga <- data.frame(
+ Variable = "Nivel de Fatiga",
+ Media = round(mean(DATATEST$Nivel_de_fatiga, na.rm = TRUE), 2),
+ Mediana = round(median(DATATEST$Nivel_de_fatiga, na.rm = TRUE), 2),
+ Desv_Std = round(sd(DATATEST$Nivel_de_fatiga, na.rm = TRUE), 2),
+ Asimetria = round(skewness(DATATEST$Nivel_de_fatiga, na.rm = TRUE), 2),
+ Curtosis = round(kurtosis(DATATEST$Nivel_de_fatiga, na.rm = TRUE), 2))
> print(stats_fatiga)
Variable Media Mediana Desv_Std Asimetria Curtosis
1 Nivel de Fatiga 3.01 3 1.47 -0.11 1.64
GENERACIÓN GRAFICO DE BARRA NIVEL DE FATIGA
> library(e1071)
Adjuntando el paquete: 'e1071'
The following object is masked from 'package:ggplot2':
element
The following objects are masked from 'package:moments':
kurtosis, moment, skewness
> frec_fatiga <- table(DATATEST$Nivel_de_fatiga)
> barplot(frec_fatiga,
+ main = "Distribución del Nivel de Fatiga",
+ xlab = "Nivel (Escala 1-5)",
+ ylab = "Frecuencia de Pacientes",
+ col = "lightblue",
+ border = "white",
+ ylim = c(0, max(frec_fatiga) + 10))
ESTADISTICOS PARA SALUD MENTAL
> stats_salud_mental <- data.frame(
+ Variable = "Salud Mental",
+ Media = round(mean(DATATEST$Impacto_en_la_salud_mental, na.rm = TRUE), 2),
+ Mediana = round(median(DATATEST$Impacto_en_la_salud_mental, na.rm = TRUE), 2),
+ Desv_Std = round(sd(DATATEST$Impacto_en_la_salud_mental, na.rm = TRUE), 2),
+ Asimetria = round(skewness(DATATEST$Impacto_en_la_salud_mental, na.rm = TRUE), 2),
+ Curtosis = round(kurtosis(DATATEST$Impacto_en_la_salud_mental, na.rm = TRUE), 2)
+ )
> print(stats_salud_mental)
Variable Media Mediana Desv_Std Asimetria Curtosis
1 Salud Mental 2.94 3 1.43 0.09 -1.3
HISTOGRAMA PARA SALUD MENTAL
> frec_saludm <- table(DATATEST$Impacto_en_la_salud_mental)
> barplot(frec_saludm,
+ main = "Impacto en la Salud Mental",
+ xlab = "Nivel (1 al 5)",
+ ylab = "Frecuencia",
+ col = "lightblue")
FRECUENCIAS GÉNERO
> frec_genero <- table(DATATEST$Genero)
> prop_genero <- round(prop.table(frec_genero) * 100, 2)
> tabla_genero <- cbind(Frecuencia = frec_genero, Porcentaje = prop_genero)
> print(tabla_genero)
Frecuencia Porcentaje
Femenino 97 48.26
Masculino 91 45.27
Otro 13 6.47
PASTEL GÉNERO
> frec_genero <- table(DATATEST$Genero)
> mis_colores <- rainbow(length(frec_genero))
> pie(frec_genero,
+ main = "Distribución por Género",
+ col = mis_colores,
+ labels = paste0(names(frec_genero), " ",
+ round(prop.table(frec_genero) * 100, 1), "%)"),
+ border = "black")
TABLA FREC SEVERIDAD DE SINTOMAS
> frec_severidad <- table(DATATEST$Severidad_de_Síntomas)
> prop_severidad <- round(prop.table(frec_severidad) * 100, 2)
> tabla_severidad <- cbind(Frecuencia = frec_severidad, Porcentaje = prop_severidad)
> print(tabla_severidad)
Frecuencia Porcentaje
Leve 130 64.68
Moderado 51 25.37
Severo 20 9.95
PASTEl SEVERIDAD
> frec_sev <- table(DATATEST$Severidad_de_Síntomas)
> pie(frec_sev,
+ main = "Distribución de Severidad de Síntomas",
+ col = mis_colores,
+ labels = paste0(names(frec_sev), " (", round(prop.table(frec_sev)*100, 1), "%)"))
> frec_hosp <- table(DATATEST$Hospitalizado)
fREC TABLA HOSPITALIZACIÓN
> prop_hosp <- round(prop.table(frec_hosp) * 100, 2)
> tabla_hosp <- cbind(Frecuencia = frec_hosp, Porcentaje = prop_hosp)
print(tabla_hosp)
HISTOGRAMA HOSPITALIZACIÓN
> frec_hosp <- table(DATATEST$Hospitalizado)
> barplot(frec_hosp,
+ main = "Distribución de Hospitalización",
+ xlab = "¿Fue Hospitalizado?",
+ ylab = "Número de Pacientes",
+ col = "lightblue",
+ border = "black")
RIESGO DE COVID PROLONGADO TABLA FREC
> frec_riesgo <- table(DATATEST$Riesgo_de_covid_prolongado)
> prop_riesgo <- round(prop.table(frec_riesgo) * 100, 2)
> tabla_riesgo <- cbind(Frecuencia = frec_riesgo, Porcentaje = prop_riesgo)
> print(tabla_riesgo)
Frecuencia Porcentaje
Alto 23 11.44
Bajo 107 53.23
Medio 71 35.32
RIESGO DE COVID PROLONGADO HISTOGRAMA
> frec_riesgo <- table(DATATEST$Riesgo_de_covid_prolongado)
> barplot(frec_riesgo,
+ main = "Riesgo de COVID Prolongado",
+ col = "lightblue")
TABLA FRECUENCIAS LAS DEMAS VARIABLES
> DATATEST$Severidad_de_Síntomas <- factor(DATATEST$Severidad_de_Síntomas,
+ levels = c("Leve", "Moderado", "Severo"))
> DATATEST$Riesgo_de_covid_prolongado <- factor(DATATEST$Riesgo_de_covid_prolongado,
+ levels = c("Bajo", "Medio", "Alto"))
> generar_frecuencias <- function(datos, nombre_columna) {
+ f_abs <- table(datos[[nombre_columna]])
+ f_rel <- round(prop.table(f_abs) * 100, 2)
+ tabla <- cbind(Frecuencia = f_abs, `Porcentaje (%)` = f_rel)
+ return(addmargins(tabla, margin = 1))
+ }
> res_genero <- generar_frecuencias(DATATEST, "Genero")
> res_severidad <- generar_frecuencias(DATATEST, "Severidad_de_Síntomas")
> res_hosp <- generar_frecuencias(DATATEST, "Hospitalizado")
> res_resp <- generar_frecuencias(DATATEST, "Problemas_respiratorios")
> res_riesgo <- generar_frecuencias(DATATEST, "Riesgo_de_covid_prolongado")
> print(res_hosp)
Frecuencia Porcentaje (%)
No 151 75.12
Sí 50 24.88
Sum 201 100.00
> print(res_resp)
Frecuencia Porcentaje (%)
No 143 71.14
Sí 58 28.86
Sum 201 100.00
> print(res_riesgo)
Frecuencia Porcentaje (%)
Bajo 107 53.23
Medio 71 35.32
Alto 23 11.44
Sum 201 99.99
> print(res_genero)
Frecuencia Porcentaje (%)
Femenino 97 48.26
Masculino 91 45.27
Otro 13 6.47
Sum 201 100.00
> print(res_severidad)
Frecuencia Porcentaje (%)
Leve 130 64.68
Moderado 51 25.37
Severo 20 9.95
Sum 201 100.00
**ANALISIS BIVARIADO**
TABLA DE FRECUENCIAS RIESGO DE COVID PROLONGADO
> DATATEST$Riesgo_de_covid_prolongado <- factor(DATATEST$Riesgo_de_covid_prolongado,
+ levels = c("Bajo", "Medio", "Alto"))
> tabla_gen <- table(DATATEST$Riesgo_de_covid_prolongado, DATATEST$Genero)
> frecuencia_genero <- addmargins(tabla_gen)
> print("Tabla de Frecuencia: Riesgo vs Género")
[1] "Tabla de Frecuencia: Riesgo vs Género"
> print(frecuencia_genero)
Femenino Masculino Otro Sum
Bajo 49 53 5 107
Medio 37 30 4 71
Alto 11 8 4 23
Sum 97 91 13 201
> prop_gen <- prop.table(table(DATATEST$Riesgo_de_covid_prolongado, DATATEST$Genero)) * 100
> print("Frecuencia Relativa (%) Riesgo vs Género")
[1] "Frecuencia Relativa (%) Riesgo vs Género"
> addmargins(round(prop_gen, 2))
Femenino Masculino Otro Sum
Bajo 24.38 26.37 2.49 53.24
Medio 18.41 14.93 1.99 35.33
Alto 5.47 3.98 1.99 11.44
Sum 48.26 45.28 6.47 100.01
GRAFICA BARRAS APILADAS
> library(ggplot2)
> ggplot(DATATEST, aes(x = Genero, fill = Riesgo_de_covid_prolongado)) +
+ geom_bar(position = "stack") +
+ labs(title = "Riesgo de COVID Prolongado según Género",
+ x = "Género",
+ y = "Cantidad de Pacientes",
+ fill = "Nivel de Riesgo") +
+ theme_minimal()
TABLA TIESGO DE COVID Y HOSP FRECUENCIAS
> tabla_hosp <- table(DATATEST$Riesgo_de_covid_prolongado, DATATEST$Hospitalizado)
> frecuencia_hosp <- addmargins(tabla_hosp)
> print("Tabla de Frecuencia: Riesgo vs Hospitalización")
[1] "Tabla de Frecuencia: Riesgo vs Hospitalización"
> print(frecuencia_hosp)
No Sí Sum
Bajo 80 27 107
Medio 57 14 71
Alto 14 9 23
Sum 151 50 201
> prop_gen <- prop.table(table(DATATEST$Riesgo_de_covid_prolongado, DATATEST$Hospitalizado)) * 100
> print("Frecuencia Relativa (%) Riesgo vs Hospitalizado")
[1] "Frecuencia Relativa (%) Riesgo vs Hospitalizado"
> addmargins(round(prop_gen, 2))
No Sí Sum
Bajo 39.80 13.43 53.23
Medio 28.36 6.97 35.33
Alto 6.97 4.48 11.45
Sum 75.13 24.88 100.01
GRAFICA BIVARIADA HOSPITALIZACIÓN VS RIEGO DE COVID
> DATATEST$Riesgo_de_covid_prolongado <- factor(DATATEST$Riesgo_de_covid_prolongado,
+ levels = c("Bajo", "Medio", "Alto"))
> ggplot(DATATEST, aes(x = Hospitalizado, fill = Riesgo_de_covid_prolongado)) +
+ geom_bar(position = "dodge", color = "white") +
+ scale_fill_brewer(palette = "Set2") +
+ labs(title = "Relación entre Hospitalización y Riesgo de COVID",
+ x = "¿Fue Hospitalizado?",
+ y = "Número de Pacientes",
+ fill = "Nivel de Riesgo") +
+ theme_minimal()