IMPORTE DE DATOS

2026-05-05

## Cargando paquete requerido: splines
## Cargando paquete requerido: RcmdrMisc
## Cargando paquete requerido: car
## Cargando paquete requerido: carData
## Cargando paquete requerido: sandwich
## Cargando paquete requerido: effects
## lattice theme set by effectsTheme()
## See ?effectsTheme for details.
## The Commander GUI is launched only in interactive sessions
## 
## Attaching package: 'Rcmdr'
## The following object is masked from 'package:base':
## 
##     errorCondition
> library(ggplot2)
> library(e1071)

Attaching package: 'e1071'
The following object is masked from 'package:ggplot2':

    element
> library(readxl)
> DATATEST <- read_excel("C:/Users/USER/Downloads/Estadístco/DATOSEST.xlsx", sheet = "Sheet")
> summary (DATATEST)
  Individuo              Edad          Genero          Severidad_de_Síntomas
 Length:201         Min.   :18.00   Length:201         Length:201           
 Class :character   1st Qu.:31.00   Class :character   Class :character     
 Mode  :character   Median :43.00   Mode  :character   Mode  :character     
                    Mean   :43.32                                           
                    3rd Qu.:56.00                                           
                    Max.   :69.00                                           
 Hospitalizado      Dias_para_la_recuperacion Nivel_de_fatiga
 Length:201         Min.   :  8.00            Min.   :1.00   
 Class :character   1st Qu.: 50.00            1st Qu.:1.00   
 Mode  :character   Median :107.00            Median :3.00   
                    Mean   : 95.86            Mean   :3.01   
                    3rd Qu.:142.00            3rd Qu.:4.00   
                    Max.   :179.00            Max.   :5.00   
 Problemas_respiratorios Niebla_mental      Pérdida_del_gusto_y_el_olfato
 Length:201              Length:201         Length:201                   
 Class :character        Class :character   Class :character             
 Mode  :character        Mode  :character   Mode  :character             
                                                                         
                                                                         
                                                                         
 Nivel_de_actividad_física Impacto_en_la_salud_mental
 Length:201                Min.   :1.000             
 Class :character          1st Qu.:2.000             
 Mode  :character          Median :3.000             
                           Mean   :2.935             
                           3rd Qu.:4.000             
                           Max.   :5.000             
 Riesgo_de_covid_prolongado
 Length:201                
 Class :character          
 Mode  :character          
                           
                           
                           

GENERACION ESTADISTICOS POR EDAD

> stats_edad <- data.frame(
+ Variable = "Edad",
+ Media = mean(DATATEST$Edad, na.rm = TRUE),
+ Mediana = median(DATATEST$Edad, na.rm = TRUE),
+ Desv_Std = sd(DATATEST$Edad, na.rm = TRUE),
+ Varianza = var(DATATEST$Edad, na.rm = TRUE),
+ CV = (sd(DATATEST$Edad, na.rm = TRUE) / mean(DATATEST$Edad, na.rm = TRUE)),
+ MEDA = median(abs(DATATEST$Edad - median(DATATEST$Edad, na.rm = TRUE)), na.rm = TRUE),
+ Asimetria = skewness(DATATEST$Edad, na.rm = TRUE),
+ Curtosis = kurtosis(DATATEST$Edad, na.rm = TRUE)
+ )
> print(stats_edad)
  Variable    Media Mediana Desv_Std Varianza        CV MEDA   Asimetria
1     Edad 43.32338      43 14.97397 224.2199 0.3456326   13 -0.04373587
   Curtosis
1 -1.195051
> cat("Medias recortadas Edad (0%, 2%, 5%, 10%):",
+ mean(DATATEST$Edad, na.rm = TRUE),
+ mean(DATATEST$Edad, trim = 0.02, na.rm = TRUE),
+ mean(DATATEST$Edad, trim = 0.05, na.rm = TRUE),
+ mean(DATATEST$Edad, trim = 0.10, na.rm = TRUE), "\n")
Medias recortadas Edad (0%, 2%, 5%, 10%): 43.32338 43.31606 43.31492 43.37267 

GENERACION HISTOGRAMA EDAD

> ggplot(DATATEST, aes(x = Edad)) +
+ geom_histogram(bins = 15, fill = "skyblue", color = "black", alpha = 0.7) +
+ labs(title = "Distribución de Edad", x = "Edad", y = "Frecuencia") +
+ theme_light()

GENERACIÓN ESTADISTICOS DIAS DE RECUPERACIÓ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),
+ Varianza = var(DATATEST$Dias_para_la_recuperacion, na.rm = TRUE),
+ CV = (sd(DATATEST$Dias_para_la_recuperacion, na.rm = TRUE) / mean(DATATEST$Dias_para_la_recuperacion, na.rm = 
+   TRUE)),
+ MEDA = median(abs(DATATEST$Dias_para_la_recuperacion - median(DATATEST$Dias_para_la_recuperacion, na.rm = TRUE)), 
+   na.rm = TRUE),
+ 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 Varianza        CV MEDA Asimetria
1 Días Recuperación 95.86     107    52.32 2737.694 0.5458514   45     -0.19
  Curtosis
1    -1.32

GENERACIÓN GRAFICAS DIAS DE RECCUPERACIÓ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()

ESTADISTICOS NIVEL DE FATIGA

> stats_ordinales <- rbind(
+ data.frame(Variable = "Nivel Fatiga",
+ Mediana = median(DATATEST$Nivel_de_fatiga, na.rm=T),
+ Asimetria = skewness(DATATEST$Nivel_de_fatiga, na.rm=T)),
+ data.frame(Variable = "Salud Mental",
+ Mediana = median(DATATEST$Impacto_en_la_salud_mental, na.rm=T),
+ Asimetria = skewness(DATATEST$Impacto_en_la_salud_mental, na.rm=T))
+ )
> print(stats_ordinales)
      Variable Mediana   Asimetria
1 Nivel Fatiga       3 -0.11043994
2 Salud Mental       3  0.09257631

GENERACION HISTOGRAMA NIVEL DE FATIGA

> frec_fatiga <- table(DATATEST$Nivel_de_fatiga)
> barplot(frec_fatiga, main="Distribución Nivel de Fatiga", col="lightblue", border="white", xlab="Escala 1-5")

FRECUENCIAS SALUD MENTAL

> frec_saludm <- table(DATATEST$Impacto_en_la_salud_mental)

HISTOGRAMA SALUD MENTAL

> barplot(frec_saludm, main="Impacto en Salud Mental", col="lightblue", xlab="Nivel 1-5")

FRECUENCIAS SALUD MENTAL

> frec_genero <- table(DATATEST$Genero)

PASTEL SALUD MENTAL

> pie(frec_genero, main="Distribución por Género", col=c("pink", "blue", "green"),
+ labels=paste0(names(frec_genero), " (", round(prop.table(frec_genero)*100, 1), "%)"))

FRECUENCIA SEVERIDAD DE SINTOMAS

> frec_sev <- table(DATATEST$Severidad_de_Síntomas)

PASTEL SEVERIDAD DE SINTOMAS

> pie(frec_sev, main="Severidad de Síntomas", col=c("pink", "blue", "green"),
+ labels=paste0(names(frec_sev), " (", round(prop.table(frec_sev)*100, 1), "%)"))

FRECUENCIA HOSPITALIZAD

> frec_hosp <- table(DATATEST$Hospitalizado)

HISTOGRAMA HOSPITALIZADO

> barplot(frec_hosp, main="Distribución de Hospitalización", col="lightblue", xlab="¿Hospitalizado?")

FRECUENCIA RIESGO

> frec_riesgo <- table(DATATEST$Riesgo_de_covid_prolongado)

HISTOGRAMA RIESGO COVID PROLONGADO

> barplot(frec_riesgo, main="Riesgo de COVID Prolongado", col="lightblue")

RIESGO COVID PROLONGADO VS GENERO

> tabla_gen <- addmargins(table(DATATEST$Riesgo_de_covid_prolongado, DATATEST$Genero))
> prop_gen <- addmargins(round(prop.table(table(DATATEST$Riesgo_de_covid_prolongado, DATATEST$Genero)) * 100, 2))
> print(list(Frecuencia = tabla_gen, Porcentaje = prop_gen))
$Frecuencia
       
        Femenino Masculino Otro Sum
  Alto        11         8    4  23
  Bajo        49        53    5 107
  Medio       37        30    4  71
  Sum         97        91   13 201

$Porcentaje
       
        Femenino Masculino   Otro    Sum
  Alto      5.47      3.98   1.99  11.44
  Bajo     24.38     26.37   2.49  53.24
  Medio    18.41     14.93   1.99  35.33
  Sum      48.26     45.28   6.47 100.01

GRAFICO GENERO VS RIESGO DE COVID PROLONGADO

> ggplot(DATATEST, aes(x = Genero, fill = Riesgo_de_covid_prolongado)) +
+ geom_bar(position = "stack") +
+ labs(title = "Riesgo de COVID Prolongado según Género", fill = "Nivel de Riesgo") +
+ theme_minimal()

TABLA RIESFO PROLONGAADO VS HOSPITALIZACION

> tabla_hosp_biv <- addmargins(table(DATATEST$Riesgo_de_covid_prolongado, DATATEST$Hospitalizado))
> print(tabla_hosp_biv)
       
         No  Sí Sum
  Alto   14   9  23
  Bajo   80  27 107
  Medio  57  14  71
  Sum   151  50 201

HISTOGRAMA BIVARIADO HOSPITALIZADO VS RIESGO DE COVID PROLONGADO

> 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 Hospitalización y Riesgo de COVID", fill = "Nivel de Riesgo") +
+ theme_minimal()

TABLA NIEVABLA MENTAL VS SEVERIDAD DE SINTOMAS

> tabla_niebla <- addmargins(table(DATATEST$Severidad_de_Síntomas, DATATEST$Niebla_mental))
> prop_niebla_fila <- round(prop.table(table(DATATEST$Severidad_de_Síntomas, DATATEST$Niebla_mental), margin = 1) * 
+   100, 2)
> print(list(Absoluta = tabla_niebla, Porcentaje_Fila = prop_niebla_fila))
$Absoluta
          
            No  Sí Sum
  Leve      98  32 130
  Moderado  40  11  51
  Severo    15   5  20
  Sum      153  48 201

$Porcentaje_Fila
          
              No    Sí
  Leve     75.38 24.62
  Moderado 78.43 21.57
  Severo   75.00 25.00

RIESGO DE COVID PROLONGADO VS PROBLEMAS RESPIRATORIOS

> tabla_resp <- table(DATATEST$Riesgo_de_covid_prolongado, DATATEST$Problemas_respiratorios)
> prop_resp_col <- round(prop.table(tabla_resp, margin = 2) * 100, 2)
> print(list(Porcentaje_Columna = prop_resp_col))
$Porcentaje_Columna
       
           No    Sí
  Alto  13.29  6.90
  Bajo  51.75 56.90
  Medio 34.97 36.21