Presentación y análisis descriptivo de datos con uso de software R

Salud de sueño y Estilo de vida

Roberto Alonso Roque Núñez
Otro autor

2024-08-13

Descripción del Problema

Identificación del problema o fenómeno:

Mejorar el estilo de vida y la calidad del sueño de las personas requiere disposición, disciplina y constancia. Sin embargo, diversos factores pueden dificultar estos cambios. Este estudio pretende explorar y analizar cómo las características demográficas, los hábitos de vida y las patologías influyen en la salud del sueño.

Especificación de objetivos

Objetivo general

Explorar las tendencias y patrones entre la salud del sueño, las características demográficas, los hábitos de vida y posibles patologías relacionadas con el sueño.

Objetivos especificos

Descripción de los datos

Método de recopilación de datos

Esta base de datos contiene detalles sobre características demográficas y los hábitos de vida de un conjunto de profesionales encuestados de manera aleatoria. Se hizo usó de datos registrados por el medio digital kaggle (vea aquí).

library(readr)
dato1<- read_csv("D:/Backup/Documentos/Cursos/aModulo1/Ejemplos/EjemploME/Sleep_health_and_lifestyle_dataset.csv")

Tamaño de muestra

La base de datos contiene 374 datos.

Variables a tratar

Variable Tipo Jerarquía
Genero (Gender) cualitativa nominal -
Ocupación (Occupation) cualitativa nominal -
IMC (BMI Category) cualitativa ordinal Normal
Normal Weight
Overweight
Obese
Desorden de sueño
(Sleep Disorder)
cualitativa ordinal None
Insomnia
Sleep Apnea
Edad (Age) cuantitativa discreta numérica
Duración del sueño
(Sleep Duration)
cuantitativa continua numérica
Nivel de actividad fisica (Physical Activity Level) cuantitativa discreta numérica
Nivel de estrés (Stress Level) cuantitativa discreta numérica

Formulación de preguntas de investigación:

  1. ¿Cuál ocupación presenta el mayor nivel promedio de estrés?

  2. ¿En qué ocupación el insomnio representa el mayor porcentaje dentro de los desórdenes de sueño?

  3. ¿En qué género se presenta mayor variabilidad en el número de pasos?

Crítica de datos

Evaluaremos la calidad de los datos, verificando si hay datos perdidos en nuestra muestra:

library(dplyr)
dato1 %>% is.na() %>% sum()
## [1] 0

Ya que nos arrojo cero, no hay datos perdidos. Podemos trabajar con todos los datos.

Observación. En caso que sea distinto de cero, identificamos en que variables hay datos perdidos con lo siguiente:

dato1 %>% is.na() %>% colSums()

y se tiene que indicar en que variables hay datos perdidos.

(Por ejemplo: si se obtiene que

variable1 Variable2 ... Variablen
0         3             0  

en este caso el numero 3 indica que hay tres datos faltantes en la Variable2)

Depuración de datos

Como no encontramos datos perdidos, no se altera el contenido de los datos.

Observación.

  1. Caso hubiera datos perdidos se pueden limpiar datos, por ejemplo, eliminando todas las filas con datos perdidos:
dato1<- dato1 %>% na.omit()
  1. De manera opcional, si desea puede traducir manualmente sus variables.
names(dato1)<-c("ID","Genero","Edad","Ocupación","Duración de sueño","Calidad de sueño",
                "Nivel.Actividad.Fisica","Nivel de estres","IMC","Presión arterial",
                "Frecuencia cardiaca","Numero de pasos","Desorden de sueño")

Pregunta 1

¿Cuál ocupación presenta el mayor nivel promedio de estrés?

tabla<-dato1 %>% 
  group_by(Ocupación) %>% 
  summarise(Promedio.Nivel.estres=mean(`Nivel de estres`))
Tabla: Nivel promedio de estrés según cada ocupación
tabla
## # A tibble: 11 × 2
##    Ocupación            Promedio.Nivel.estres
##    <chr>                                <dbl>
##  1 Accountant                            4.59
##  2 Doctor                                6.73
##  3 Engineer                              3.89
##  4 Lawyer                                5.06
##  5 Manager                               5   
##  6 Nurse                                 5.55
##  7 Sales Representative                  8   
##  8 Salesperson                           7   
##  9 Scientist                             7   
## 10 Software Engineer                     6   
## 11 Teacher                               4.53

Pregunta 1

Diagrama de barras

par(mar=c(10,5,4,2))   # aumenta espacio inferior
barplot(tabla$Promedio.Nivel.estres,
        names.arg = tabla$Ocupación,
        las = 2,
        col = "skyblue",
        main = "Nivel promedio de Estrés por Ocupación",
        ylab = "Nivel promedio de Estrés",
        cex.names = 0.9)

Pregunta 1

Respuesta a la pregunta 1

Dando respuesta con R:

max_row <- tabla[which.max(tabla$Promedio.Nivel.estres), ]

cat("La ocupación con mayor nivel promedio de estrés es",
    max_row$Ocupación,"con un promedio de",
    round(max_row$Promedio.Nivel.estres, 2),".\n")
## La ocupación con mayor nivel promedio de estrés es Sales Representative con un promedio de 8 .

Dando respuesta manual (a partir de la tabla o del diagrama de barras):

La ocupación con mayor nivel promedio de estrés es el de Representante de Ventas.

Pregunta 2

¿En qué ocupación el insomnio representa el mayor porcentaje dentro de los desórdenes de sueño?

El Desorden de sueño es una variable cualitativa ordinal y las categorías tienen un orden jerárquico en términos de severidad:

  1. None: No presenta desorden de sueño

  2. Insomnia: Trastorno moderado (afecta la calidad del sueño)

  3. Sleep Apnea: Trastorno más severo (implica pausas en la respiración durante el sueño)

Debido a esto, lo primero que haremos es ordenar el desorden de sueño por jerarquia como sigue:

desorden<-dato1$`Desorden de sueño`
desorden<-factor(desorden,
                 levels = c("None","Insomnia","Sleep Apnea"),
                 ordered = T)
levels(desorden)
## [1] "None"        "Insomnia"    "Sleep Apnea"

Pregunta 2

Diagrama de barras apiladas con porcentajes

par(mar=c(10,5,4,8))
frec=table(desorden,dato1$Ocupación)
porc=prop.table(frec,2)*100
barplot(porc,
        las=3,
        col =c("green","yellow","red"),
        legend.text = names(table(desorden)),
        main = "Diagrama de barras apiladas (%)",
        ylab = "Porcentaje de desordenes",
        args.legend = list(x = "topright",  # ubicación
                           bty = "n",       # sin borde
                           inset = c(-0.25, 0)))

Dando respuesta (manual) segun el grafico:

Como la barra correspondiente al insomnio (color amarillo) es más grande en la ocupación de Vendedor (Salesperson), concluimos que en esta ocupación el insomnio presenta el mayor porcentaje dentro de los desórdenes de sueño.

Pregunta 2

Respuesta a la pregunta 2

Dando respuesta con R:

insomnio <- porc["Insomnia", ]
ocup_max<-names(insomnio)[which.max(insomnio)]
valor_max<-max(insomnio)
cat("La ocupación de", ocup_max, 
    "presenta el porcentaje más alto de insomnio con", 
    round(valor_max, 3), "%.\n")
## La ocupación de Salesperson presenta el porcentaje más alto de insomnio con 90.625 %.

Pregunta 3

¿En qué género se presenta mayor variabilidad en el número de pasos?

boxplot(dato1$`Numero de pasos`~dato1$Genero,
        ylab = "Número de pasos",
        xlab="Genero",
        main="Boxplot del número de pasos según el sexo")

Pregunta 3

Respuesta a la pregunta 3

Dando respuesta (manual) segun el grafico:

El número de pasos muestra mayor variabilidad en el grupo de hombres que en el de mujeres, evidenciando que en los hombres los valores se distribuyen en un rango más amplio.

Conclusión

El estudio permitió evidenciar que tanto la ocupación como el género son factores que influyen en el estrés, los desórdenes de sueño y la actividad física. Se observó que algunas ocupaciones presentan mayor vulnerabilidad al estrés y al insomnio, lo que sugiere una relación entre las exigencias laborales y la salud del sueño. Asimismo, las diferencias en la variabilidad del número de pasos entre hombres y mujeres reflejan patrones distintos de actividad física. En conjunto, los hallazgos muestran la importancia de considerar características demográficas y laborales para comprender mejor los hábitos de vida y su impacto en la salud.