Caso #1

Autor/a
Afiliación

Katherine M. Tajan Niebles

Universidad del Norte, Barranquilla

Fecha de publicación

31 de mayo de 2024

Importante

  1. El puntaje asociado a cada conjunto de preguntas se encuentra entre ().
  2. Pueden utilizarse herramientas y/o conceptos de otras asignaturas en caso de ser necesario.
  3. Tenga en cuenta que aunque los cálculos son importantes, el análisis e interpretación tendrán un mayor peso en la calificación.
  4. La solución debe enviarse en formato HTML a a más tardar el Viernes 31 de Mayo de 2024 a las 2 PM.

Contexto Analítico

Un grupo de investigación de una prestigiosa Universidad estudia una transtorno del neurodesarollo que se presenta principalmente en niños.

Los datos pueden leerse en R haciendo:

Código
## data set
x <- read.table('https://tinyurl.com/PsychoDB', 
                sep = ',', header = TRUE)

En total se registraron datos en 22 variables en 408 individuos. Las columnas relevantes para el desarrollo del exámen son:

  1. Family: Familia a la que pertenece el individuo;
  2. UID: Identificador de la persona;
  3. Father: Si el individuo es papá, la variable toma el valor de 0;
  4. Mother: Si el individuo es mamá, la variable toma el valor de 0;
  5. Sex: Sexo del individuo (M: Male, F: Female);
  6. Age: Edad en años al momento del diagnóstico;
  7. ADHD: Diagnóstico (yes: enfermo; no: sano);
  8. cluster: Grupo de severidad al que pertenece;
  9. inatsymptoms: Número de síntomas de inatención;
  10. impsymptoms: Número de síntomas de impulsividad;
  11. hypsymptoms: Número de síntomas de hyperactividad;
  12. trait1: Tiempo de reacción en milisegundos (ms) para terminar una tarea.

Estos datos han sido utilizados como parte de investigaciones previas en ADHD (ver por ejemplo este, este, este y este artículo). Sin enmbargo, los investigadores tienen preguntas adicionales y están interesados en hipotetizar sobre otros aspectos relevantes a la enfermedad. Por ello, los contratan como apoyo en todo lo relacionado Analítica de Datos.

Ejercicio 1 (10 puntos)

Seleccione sólo las columnas correspondientes a las variables relevantes. Analice la distribución de frecuencias de ADHD, cluster y Sex. Concluya.

Tabla de datos Interactiva:

A continuación se visualiza la tabla de datos con sólo las columnas correspondientes a las variables relevantes.

Código
## lectura de datos

datos <- x[,c('Family', 'UID', 'Father', 'Mother', 'Sex', 'Age', 'ADHD', 'cluster', 'inatsymptoms', 'impsymptoms', 'hypsymptoms', 'trait1')]

datos$Family <- as.factor(datos$Family)
datos$Father <- as.factor(datos$Father)
datos$Mother <- as.factor(datos$Mother)
datos$Sex <- as.factor(datos$Sex)
datos$ADHD <- as.factor(datos$ADHD)
datos$UID <- as.factor(datos$UID)
datos$cluster <- as.factor(datos$cluster)

# Crear tabla interactiva
datatable(datos, 
          filter = "top", # Mostrar cuadros de búsqueda en la parte superior de cada columna
          options = list(pageLength = 10) # Agregar título encima de la tabla
)
Tip

Análizaremos la frecuencia para cada una de las variables objeto de estudio ( ADHD, cluster y Sex) en el ejercicio número 1.

Tabla de Frecuencia de pacientes Diagnósticados con ADHD

Código
# Cálculo la tabla de frecuencias de ADHD
table_ADHD <- addmargins(table(datos[,'ADHD']))
table_ADHD <- data.frame(table_ADHD)
names(table_ADHD) <- c("Enfermo", "Frecuencia")

# Cálculo de frecuencias relativas
Freq_R_ADHD <- round((prop.table(table(datos[,'ADHD'])) * 100), 2)
Freq_R_ADHD <- data.frame(Freq_R_ADHD)
names(Freq_R_ADHD) <- c("Enfermo", "Frecuencia")

# Unir la frecuencia relativa al dataframe existente
table_ADHD_freq <- full_join(table_ADHD, Freq_R_ADHD, by = "Enfermo")
names(table_ADHD_freq) <- c("Enfermo", "Frecuencia", "Frecuencia Relativa")
table_ADHD_freq <- replace(table_ADHD_freq, is.na(table_ADHD_freq), 100) #reemplaza NA por 100 en la fila sum de frecuencia relativa. 

# Generar la tabla con kableExtra
kbl(table_ADHD_freq, 
    caption = "Pacientes Diagnosticados con ADHD", 
    align = "lcc", 
    position = "top") %>%
  kable_classic(full_width = FALSE, 
                html_font = "Verdana", 
                bootstrap_options = "hover")
Pacientes Diagnosticados con ADHD
Enfermo Frecuencia Frecuencia Relativa
no 172 42.16
yes 236 57.84
Sum 408 100.00
Código
datos %>%
  group_by(ADHD) %>%
  summarise(count = n()) %>%
  plot_ly(x = ~ADHD, y = ~count, color = ~ADHD, type = 'bar', colors = c("#8C4D3F", "#1B7F7A")) %>%
  layout(
    title = "<b>Distribución de pacientes según diagnóstico de ADHD</b>",
    xaxis = list(title = "Clasificación según Diagnóstico"),
    yaxis = list(title = "Número de individuos", range = c(0, 250)),  # fijar escala
    legend = list(title = list(text = 'Diagnóstico'))
  )

Tabla de Frecuencia de pacientes diagnósticados por Cluster

Código
# Cálculo la tabla de frecuencias de Género
table_cluster <- addmargins(table(datos[,'cluster']))
table_cluster <- data.frame(table_cluster)
names(table_cluster) <- c("Cluster", "Frecuencia")

# Cálculo de frecuencias relativas
Freq_R_cluster <- round((prop.table(table(datos[,'cluster'])) * 100), 2)
Freq_R_cluster <- data.frame(Freq_R_cluster)
names(Freq_R_cluster) <- c("Cluster", "Frecuencia")

# Unir la frecuencia relativa al dataframe existente
table_cluster_freq <- full_join(table_cluster, Freq_R_cluster, by = "Cluster")
names(table_cluster_freq) <- c("Cluster", "Frecuencia", "Frecuencia Relativa")
table_cluster_freq <- replace(table_cluster_freq, is.na(table_cluster_freq), 100) #reemplaza NA por 100 en la fila sum de frecuencia relativa. 

# Generar la tabla con kableExtra
kbl(table_cluster_freq, 
    caption = "Pacientes diagnósticados por Cluster ", 
    align = "lcc", 
    position = "top") %>%
  kable_classic(full_width = FALSE, 
                html_font = "Verdana", 
                bootstrap_options = "hover")
Pacientes diagnósticados por Cluster
Cluster Frecuencia Frecuencia Relativa
1 135 33.09
2 72 17.65
3 64 15.69
4 57 13.97
5 41 10.05
6 39 9.56
Sum 408 100.00
Código
datos %>%
  group_by(cluster) %>%
  summarise(count = n()) %>%
  plot_ly(x = ~cluster, y = ~count, color = ~cluster, type = 'bar', colors = c("#8B4513","#DEB887","#C0C0C0", "#B0E0E6","#4682B4","#008080")) %>%
  layout(
    title = "<b>Distribución de pacientes según Cluster</b>",
    xaxis = list(title = "Clasificación según Cluster"),
    yaxis = list(title = "Número de individuos", range = c(0, 250)),  # fijar escala
    legend = list(title = list(text = 'Cluster'))
  )

Tabla de Frecuencia de pacientes diagnósticados por Género

Código
# Cálculo la tabla de frecuencias de Género
table_sex <- addmargins(table(datos[,'Sex']))
table_sex <- data.frame(table_sex)
names(table_sex) <- c("Género", "Frecuencia")

# Cálculo de frecuencias relativas
Freq_R_sex <- round((prop.table(table(datos[,'Sex'])) * 100), 2)
Freq_R_sex <- data.frame(Freq_R_sex)
names(Freq_R_sex) <- c("Género", "Frecuencia")

# Unir la frecuencia relativa al dataframe existente
table_sex_freq <- full_join(table_sex, Freq_R_sex, by = "Género")
names(table_sex_freq) <- c("Género", "Frecuencia", "Frecuencia Relativa")
table_sex_freq <- replace(table_sex_freq, is.na(table_sex_freq), 100) #reemplaza NA por 100 en la fila sum de frecuencia relativa. 

# Generar la tabla con kableExtra
kbl(table_sex_freq, 
    caption = "Pacientes diagnósticados por Género ", 
    align = "lcc", 
    position = "top") %>%
  kable_classic(full_width = FALSE, 
                html_font = "Verdana", 
                bootstrap_options = "hover")
Pacientes diagnósticados por Género
Género Frecuencia Frecuencia Relativa
F 175 42.89
M 233 57.11
Sum 408 100.00
Código
datos %>%
  group_by(Sex) %>%
  summarise(count = n()) %>%
  plot_ly(x = ~Sex, y = ~count, color = ~Sex, type = 'bar', colors = c("#DEB887", "#4682B4")) %>%
  layout(
    title = "<b>Distribución de pacientes según Género</b>",
    xaxis = list(title = "Clasificación según Género"),
    yaxis = list(title = "Número de individuos", range = c(0, 250)),  # fijar escala
    legend = list(title = list(text = 'Género'))
  )

Durante el análisis, se caracterizó a un total de 408 individuos, incluyendo niños, adolescentes y adultos. Del total, el 57.84% de los pacientes fueron diagnosticados con trastorno por déficit de atención e hiperactividad (TDAH), mientras que el 42.16% se encontraban sanos. Se observó una ligera mayoría de pacientes de género masculino (57.11%) en comparación con los de género femenino (42.89%). Además, se notó que dentro de la segmentación de clusters numerados del 1 al 6, el 33% de los individuos pertenecían a este grupo, mientras que el resto de los individuos se distribuían de manera decreciente en los 5 grupos restantes.

Ejercicio 2 (10 puntos)

Es posible afirmar que la mayoría de las personas afectadas por la enfermedad corresponde a menores de edad? Visualice sus resultados. Determine qué patrón ocurre al desagregar la información por Sex. Concluya.

Código
tabla.fre.adhd.grp_2 <- addmargins(table(datos$grp_p2, datos$ADHD))
colnames(tabla.fre.adhd.grp_2) <- c("Sano", "Enfermo", "Total")


tabla.fre.adhd.grp_2 %>%
  kbl(caption = "Tabla de Frecuencia Cruzada entre Edad y Diagnóstico", align = "lccc") %>%
  kable_classic_2(full_width = FALSE, lightable_options = "hover", html_font = "Cambria")
Tabla de Frecuencia Cruzada entre Edad y Diagnóstico
Sano Enfermo Total
Mayor de Edad 145 101 246
Menores de Edad 27 135 162
Sum 172 236 408

Después de analizar los datos, se puede afirmar que la mayoría de las personas diagnosticadas con el trastorno de déficit de atención e hiperactividad (ADHD) son menores de edad. Se observa que hay un total de 135 personas afectadas con edades entre 6 y 17 años, mientras que solo 101 personas afectadas tienen 18 años o más; de un total de 236 personas afectadas por la enfermedad. Esta tendencia se ilustra de manera visual a través del siguiente diagrama de barras.

Código
datos %>%
  group_by(grp_p2, ADHD) %>%
  summarise(count = n()) %>%
  plot_ly(x = ~grp_p2, y = ~count, color = ~ADHD, type = 'bar', colors = c("#8C4D3F", "#1B7F7A")) %>%
  layout(
    title = "<b>Relación entre el diagnóstico y la edad de los pacientes</b>",
    xaxis = list(title = "Clasificación según edad"),
    yaxis = list(title = "Número de Individuos", range = c(0, 160)),  # fijar escapa
    legend = list(title = list(text = 'Diagnóstico'))
  )
Recuerda que:

ADHD: Diagnóstico (yes: enfermo; no: sano);
Clasificación según edad: Menor de edad: individuos con edades comprendidas entre los 6 y 17 años; Mayor de edad: individuos con edades mayores o igual a 18 años.

Ahora, nos interesa revisar si la afirmación de que la mayoría de las personas afectadas por la enfermedad corresponden a menores de edad, sigue siendo válida cuando se analiza cada género por separado. A continuación se discrima las personas diagnósticadas con el trastorno de déficit de atención e hiperactividad (ADHD) de acuerdo a su categória de edad y género.

Código
filter.adhd.grp_2.sex <- datos %>%
  filter(ADHD == 'yes')

tabla.fre.adhd.grp_2.sex <- addmargins(table(filter.adhd.grp_2.sex$grp_p2, filter.adhd.grp_2.sex$Sex))
colnames(tabla.fre.adhd.grp_2.sex) <- c("Mujer", "Hombre","Total")

tabla.fre.adhd.grp_2.sex %>%
  kbl(caption = "Tabla de Frecuencia Cruzada entre Género y personas que padecen ADHD", align = "lcccc") %>%
  kable_classic_2(full_width = FALSE, lightable_options = "hover", html_font = "Cambria")
Tabla de Frecuencia Cruzada entre Género y personas que padecen ADHD
Mujer Hombre Total
Mayor de Edad 38 63 101
Menores de Edad 37 98 135
Sum 75 161 236

Podemos visualizar gráficamente lo anterior mediante el siguiente diagrama de barras.

Código
filter_p2_g2 <- datos %>%
  filter(ADHD == 'yes')

datos_p2_g <- filter_p2_g2 %>%
  group_by(grp_p2, Sex, ADHD) %>%
  summarise(Total = n()) %>%
  mutate(Porcentaje = round(Total / sum(Total) * 100, 2)) %>%
  arrange(grp_p2)


plot_ly(datos_p2_g, x = ~grp_p2, y = ~Total, color = ~Sex, type = "bar",colors = c("#F2CBBD", "#4682B4")) %>%
  layout(
    xaxis = list(title = "Categoría de Edad"),
    yaxis = list(title = "Frecuencias"),
    title = "<b>Personas con diagnóstico de ADHD vs categória de edad, según sexo</b>",
    labs(fill = "ADHD"),
    facet_wrap(vars(Sex)),
    theme(strip.background = element_rect(fill = "blanchedalmond")))
Recuerda que:

Género: F: Mujer; M: Hombre);

Basándonos en los resultados anteriores, observamos que en el caso de los pacientes masculinos persiste la tendencia de que la mayoría de los afectados por la enfermedad ADHD son menores de edad, con un porcentaje del 60,86%. Por el contrario, en el caso de las pacientes femeninas, la situación es diferente. El 49,33% de las mujeres afectadas por la enfermedad son menores de edad, mientras que el 50,66% son mayores de edad.

En términos generales, los datos muestran una clara tendencia de que el trastorno por déficit de atención e hiperactividad (ADHD) está afectando a personas menores de edad. Es importante resaltar que se debe hacer un análisis más profundo para revisar porque se presenta con mayor frecuencia en pacientes masculinos.

Ejercicio 3 (10 puntos)

Podemos decir que existe una asociación entre el cluster y el número de síntomas de la enfermedad? En qué cluster parece encontrarse la mayor cantidad de personas con ADHD? Cuál es el UID de la persona sin ADHD con el mayor número de síntomas, y el UID de la persona diagnosticada con ADHD con el menor número de síntomas?

Para dar respuesta a lo anterior:

  • Determinaremos si existe o no una asociación entre el cluster y el número de síntomas de la enfermedad realizando una prueba chi-cuadrado , a tráves de la función chisq.test() y así determinar si hay diferencias significativas en el número de síntomas entre los diferentes clusters.
Código
datos_p3_a <- datos %>%
  filter(ADHD == 'yes') %>%
  select(cluster, UID, inatsymptoms, impsymptoms, hypsymptoms) %>%
  group_by(UID, cluster) %>%
  mutate(total_sintomas = sum(inatsymptoms + impsymptoms + hypsymptoms))%>%
  select(total_sintomas,cluster)
frecuencias <- table(datos_p3_a$cluster,datos_p3_a$total_sintomas)

# Realizar la prueba de chi-cuadrado
resultado_chi <- chisq.test(frecuencias)
print(resultado_chi)

    Pearson's Chi-squared test

data:  frecuencias
X-squared = 94.433, df = 100, p-value = 0.6383

Dado que el p-valor de 0.6383 es mayor al nivel de significancia del 0.05, se concluye con un nivel de confianza del 95%, no hay suficiente evidencia para rechazar la hipótesis nula, la cual establece que no hay asociación entre el cluster y el número de síntomas. Por lo tanto, en este caso, no podemos concluir que exista una asociación significativa entre el cluster y el número de síntomas de la enfermedad.

A continuación se puede observar la distribución del número de sintomas de ADHD por Cluster.

Código
freq_datos_p3_g <- table(datos_p3_a$cluster, datos_p3_a$total_sintomas)
# Convertir la tabla en un marco de datos y asignarle un nombre
freq_datos_p3_g <- as.data.frame(freq_datos_p3_g)
colnames(freq_datos_p3_g) <- c("cluster", "n_sintoma","freq_n_sintoma")

plot_ly(freq_datos_p3_g, x = ~n_sintoma, y = ~freq_n_sintoma, color = ~cluster, type = "bar",colors = c("#8B4513","#DEB887","#C0C0C0", "#B0E0E6","#4682B4","#008080")) %>%
  layout(
    xaxis = list(title = "Número de Síntomas"),
    yaxis = list(title = "Frecuencias", range = c(0, 10)),
    title = "<b> Distribución del número de síntomas de ADHD por Cluster</b>",
    labs(fill = "n_sintoma"),
    legend = list(title = list(text = 'Cluster')),
    theme(strip.background = element_rect(fill = "blanchedalmond")))
  • Identificaremos en qué cluster se encuentra la mayor cantidad de personas con ADHD.
Código
datos_p3_b <- datos %>%
  filter(ADHD == 'yes') %>%
  select(ADHD, UID, cluster, inatsymptoms, impsymptoms, hypsymptoms)%>%
  group_by(cluster)%>%
  summarise(Total = n()) %>%
  mutate(Porcentaje = round(Total / sum(Total) * 100, 1))
  colnames(datos_p3_b) <- c("Cluster", "Total","Porcentaje")

datos_p3_b %>%
  kbl(caption = "Número de personas que padecen ADHD por Cluster", align = "ccc") %>%
  kable_classic_2(full_width = FALSE, lightable_options = "hover", html_font = "Cambria")
Número de personas que padecen ADHD por Cluster
Cluster Total Porcentaje
1 18 7.6
2 63 26.7
3 59 25.0
4 30 12.7
5 32 13.6
6 34 14.4

Con base a lo anterior, podemos afirmar que el cluster donde se ubican el mayor número de personas que padecen el trastorno por déficit de atención e hiperactividad (ADHD) es el cluster número 2 con un total de 63 integrantes.

  • Encontraremos el UID de la persona sin ADHD con el mayor número de síntomas.
Tabla de datos Interactiva:

A continuación se visualiza la tabla de datos de personas sanas (diagnósticadas sin ADHD) donde se relaciona el total de síntomas que presentan.

Código
datos_p3_c <- datos %>%
  filter(ADHD == 'no') %>%
  select(UID, cluster, inatsymptoms, impsymptoms, hypsymptoms) %>%
  group_by(UID,cluster) %>%
  mutate(total_sintomas = sum(inatsymptoms + impsymptoms + hypsymptoms))
  colnames(datos_p3_c) <- c("UID", "Cluster", "Síntomas de inatención", "Síntomas de impulsividad", "Síntomas de hiperactividad", "Total síntomas")

# Crear tabla interactiva
datatable(datos_p3_c, 
          filter = "top", # Mostrar cuadros de búsqueda en la parte superior de cada columna
          options = list(pageLength = 10) # Agregar título encima de la tabla
)
Código
datos_p3_c2 <- datos %>%
  filter(ADHD == 'no') %>%
  select(UID, cluster, inatsymptoms, impsymptoms, hypsymptoms) %>%
  group_by(UID,cluster) %>%
  mutate(total_sintomas = sum(inatsymptoms + impsymptoms + hypsymptoms))

UID_max_sintomas <- datos_p3_c2 %>%
  filter(total_sintomas == max(datos_p3_c2$total_sintomas)) %>%
  pull(UID)

Los UID de las personas sanas (sin ADHD) con el mayor número de síntomas son 32, 118, 159, 268, 378, 396. Se tienen 6 pacientes aparentemente sanos los cuales presentan 20 síntomas del trastorno por déficit de atención e hiperactividad (ADHD), se deben, repetir las pruebas para revisar si fueron o no mal diagnósticados.

  • Encontraremos el UID de la persona diagnosticada con ADHD con el menor número de síntomas.
Tabla de datos Interactiva:

A continuación se visualiza la tabla de datos de personas enfermas (diagnósticadas con ADHD) donde se relaciona el total de síntomas que presentan.

Código
datos_p3_d <- datos %>%
  filter(ADHD == 'yes') %>%
  select(UID, cluster, inatsymptoms, impsymptoms, hypsymptoms) %>%
  group_by(UID,cluster) %>%
  mutate(total_sintomas = sum(inatsymptoms + impsymptoms + hypsymptoms))
  colnames(datos_p3_d) <- c("UID", "Cluster", "Síntomas de inatención", "Síntomas de impulsividad", "Síntomas de hiperactividad", "Total síntomas")

# Crear tabla interactiva
datatable(datos_p3_d, 
          filter = "top", # Mostrar cuadros de búsqueda en la parte superior de cada columna
          options = list(pageLength = 10) # Agregar título encima de la tabla
)
Código
datos_p3_d2 <- datos %>%
  filter(ADHD == 'yes') %>%
  select(UID, cluster, inatsymptoms, impsymptoms, hypsymptoms) %>%
  group_by(UID,cluster) %>%
  mutate(total_sintomas = sum(inatsymptoms + impsymptoms + hypsymptoms))

UID_min_sintomas <- datos_p3_d2 %>%
  filter(total_sintomas == min(datos_p3_d2$total_sintomas)) %>%
  pull(UID)

Los UID de las personas enfermas (con ADHD) con el menor número de síntomas son 14, 20, 26, 42, 76, 80, 101, 113, 117, 160, 240, 247, 255, 259, 262, 266, 277, 344, 371, 379, 407, es decir, que de la muestra de datos se tiene un total de 21 pacientes asintomáticos o en su defecto se deben repetir las pruebas para revisar si fueron o no mal diagnósticados.

Ejercicio 4 (10 puntos)

De acuerdo con inatsymtoms, quiénes son más inatentos? Los Fathers o las Mothers? Determine el número de individuos Father con ADHD y compárelo con los individuos Mother con el diagnóstico. Es posible afirmar que en esta población los Fathers son más inatentos que las Mothers? Use un nivel de significancia \(alpha=0.05\) para todas las pruebas que considere necesario realizar.

Código
datos_p4_b <- datos %>%
  filter(ADHD == 'yes')%>%
  group_by(inatsymptoms) %>%
  summarise(
    num_padres = sum(Father == 0 & Sex == 'M'),
    num_madres = sum(Mother == 0 & Sex == 'F')
  )
  colnames(datos_p4_b) <- c("Síntomas de Inatención", "Número de Padres", "Número de Madres")

datos_p4_b %>%
  kbl(caption = "Distribución de síntomas de falta de atención en padres y madres diagnosticados con ADHD", align = "ccc") %>%
  kable_classic_2(full_width = FALSE, lightable_options = "hover", html_font = "Cambria")
Distribución de síntomas de falta de atención en padres y madres diagnosticados con ADHD
Síntomas de Inatención Número de Padres Número de Madres
0 3 3
1 1 3
2 3 3
3 4 4
4 0 0
5 4 3
6 3 8
7 2 3
8 10 2
9 5 3
10 27 5
Código
  t_padres <- sum(datos_p4_b$"Número de Padres")
  t_madres <- sum(datos_p4_b$"Número de Madres")
  • De acuerdo con inatsymtoms los padres (Fathers) son más inatentos;

  • Ahora, determinaremos el número de individuos Father con ADHD y lo compararemos con los individuos Mother con el diagnóstico. El número de individuos Fathers es de 62, mientras que el número de individuos de Mothers es de 37;

  • A continuación, comprobaremos a tráves de una prueba estadística que si es posible afirmar o no que en esta población los Fathers son más inatentos que las Mothers.

Código
datos_p4_c <- datos %>%
  filter(ADHD == 'yes')%>%
  group_by() %>%
  summarise(
    num_padres = sum(Father == 0 & Sex == 'M'),
    num_madres = sum(Mother == 0 & Sex == 'F')
  )
   colnames(datos_p4_c) <- c("Número de Padres", "Número de Madres")

datos_p4_c %>%
  kbl(caption = "Segmentación de indiviuos con inatención por género diagnósticados con ADHD", align = "ccc") %>%
  kable_classic_2(full_width = FALSE, lightable_options = "hover", html_font = "Cambria")
Segmentación de indiviuos con inatención por género diagnósticados con ADHD
Número de Padres Número de Madres
62 37
Código
# Realizar la prueba de chi-cuadrado
resultado_chi4c <- chisq.test(datos_p4_c)
print(resultado_chi4c)

    Chi-squared test for given probabilities

data:  datos_p4_c
X-squared = 6.3131, df = 1, p-value = 0.01198

Dado que el p-valor de 0.01198 es menor al nivel de significancia del 0.05, se concluye con un nivel de confianza del 95%, hay suficiente evidencia para rechazar la hipótesis nula. Por lo tanto, en este caso, podemos concluir que existe una diferencia significativa entre los individuos Fathers y Mothers que padecen ADHD con respecto al grado de inatención. Por tanto, podemos afirmar que los que en esta población los Fathers son más inatentos que las Mothers.

Ejercicio 5 (10 puntos)

Podemos decir que existe una relación entre Age y trait1 en personas menores de edad? Utilice EDA para ello. Ahora, determine si existe diferencia en la trait1 promedio entre los individuos Male y Female menores edad diagnosticados con ADHD. Qué pasa si comparamos menores de edad Male con ADHD vs. Male sin ADHD? Use un nivel de significancia \(\alpha=0.05\) para todas las pruebas que considere necesario realizar. Concluya.

Para dar respuesta a lo anterior:

  • Determinaremos si existe o no una relación entre Age y trait1 en personas menores de edad a tráves de un análisis exploratorio de datos.

A continuación tenemos un gráfico de dispersión entre la variable Age y trait1 para personas menores de edad:

Código
datos_p5_a <- datos %>%
  filter(grp_p2 == "Menores de Edad") %>%
  group_by(Age, ADHD)

plot_ly(datos_p5_a, x = ~Age, y = ~trait1, color = ~ADHD, type = "scatter", mode = "markers", colors = c("#8B4513","#DEB887","#C0C0C0", "#B0E0E6","#4682B4","#008080")) %>%
  layout(
    xaxis = list(title = "Edad"),
    yaxis = list(title = "Tiempo de reacción en ms", range = c(200, 1000)),
    title = "<b>Distribución de tiempo de reacción de individuos menores de edad</b>",
    legend = list(title = list(text = 'Diagnóstico')),
    theme = list(strip.background = element_rect(fill = "blanchedalmond"))
  )

A primera vista, se percibe una correlación inversa entre el puntaje (trait1) y la edad de las personas menores de edad. En otras palabras, conforme la edad aumenta, el puntaje tiende a disminuir.

Código
# Calcular la correlación entre Age y trait1
correlacion_age_trait1 <- cor(datos_p5_a$Age, datos_p5_a$trait1, use = "complete.obs")

Para confirmar lo anterior, realizarermos un análisis de correlación. Al llevar a cabo dicho análisis entre la variable Edad y la variable trait1 ( tiempo de reacción en ms para terminar una tarea), se observa un coeficiente de correlación de -0.4998. Este valor sugiere una relación inversa entre la edad y el tiempo de reacción en individuos menores de edad. En otras palabras, conforme la edad aumenta en esta población, el tiempo de reacción para terminar una tarea tiende a disminuir. Confirmando la tendencia observada en el gráfico de dispersión.

  • Determinaremos si existe diferencia en la trait1 promedio entre los indiviuos Male y Female menores de edad diagnosticados con ADHD.
Código
datos_p5_b <- datos %>%
  filter(grp_p2 == "Menores de Edad" & ADHD == "yes") %>%
  group_by(Age, Sex) %>%
  summarise(mean_trait1 = mean(trait1, na.rm = TRUE))  # Calcular la media de trait1
   colnames(datos_p5_b) <- c("Edad", "Género", "media_trait1")

datos_p5_b %>%
  kbl(caption = "Media del tiempo de reacción para terminar una tarea por edad y género", align = "ccc") %>%
  kable_classic_2(full_width = FALSE, lightable_options = "hover", html_font = "Cambria")
Media del tiempo de reacción para terminar una tarea por edad y género
Edad Género media_trait1
6 F 761.5800
6 M 713.6400
7 F 748.0078
7 M 621.3130
8 F 647.7100
8 M 667.0188
9 F 622.3620
9 M 474.8325
10 F 542.7533
10 M 637.2717
11 F 540.6800
11 M 587.7683
12 F 548.3450
12 M 525.1300
13 F 473.4000
13 M 452.1150
14 F 467.7233
14 M 464.4400
15 M 430.2133
16 M 494.3300
17 M 713.0600
Código
# Convertir la tabla en un marco de datos y asignarle un nombre
datos_p5_b <- as.data.frame(datos_p5_b)

plot_ly(datos_p5_b, x = ~Edad, y = ~media_trait1, color = ~Género, type = "bar",colors = c("#DEB887","#008080")) %>%
  layout(
    xaxis = list(title = "Edad"),
    yaxis = list(title = "Tiempo de reacción en ms", range = c(0, 1000)),
    title = "<b> Tiempo de reacción en indiviuos menores de edad según género</b>",
    labs(fill = "ADHD"),
    legend = list(title = list(text = 'Diagnóstico')),
    theme(strip.background = element_rect(fill = "blanchedalmond")))
Recuerda que:

Género: F: Mujer; M: Hombre);

Persiste la tendencia en las mujeres, donde el tiempo de reacción para terminar una tarea en ms (trait1) tiende a disminuir a medida que aumenta la edad. Sin embargo, en los hombres, esta relación no sigue un patrón definido y, de hecho, el gráfico exhibe múltiples picos, lo que sugiere una variabilidad considerable en la relación entre la edad y el tiempo de reacción.

A continuación usaremos la función t.test() para verificar a tráves de un test t-Student si existe una diferencia entre los tiempos de reacción promedio, segmentando la población según el género.

Código
t.test(media_trait1~Género, data= datos_p5_b)

    Welch Two Sample t-test

data:  media_trait1 by Género
t = 0.63166, df = 17.005, p-value = 0.536
alternative hypothesis: true difference in means between group F and group M is not equal to 0
95 percent confidence interval:
 -69.34684 128.61617
sample estimates:
mean in group F mean in group M 
       594.7290        565.0944 

Dado que el p-valor de 0.536 es mayor al nivel de significancia del 0.05, se concluye con un nivel de confianza del 95%, que no existe suficiente evidencia para rechazar la hipótesis nula. Por lo tanto, en este caso, podemos concluir que existe no existe una diferencia significativa en el tiempo de reacción promedio entre los individuos Male y Female que padecen ADHD.

  • Ahora, evaluaremos que sucede si comparamos menores de edad Male con ADHD vs menores de edad Male sin ADHD.
Código
datos_p5_d <- datos %>%
  filter(grp_p2 == "Menores de Edad" & Sex == "M") %>%
  group_by(Age, ADHD) %>%
  summarise(mean_trait1p5d = mean(trait1, na.rm = TRUE))  # Calcular la media de trait1
   colnames(datos_p5_d) <- c("Edad", "ADHD", "media_trait1")
   
datos_p5_d %>%
  kbl(caption = "Tiempo de reacción promedio según edad", align = "ccc") %>%
  kable_classic_2(full_width = FALSE, lightable_options = "hover", html_font = "Cambria")
Tiempo de reacción promedio según edad
Edad ADHD media_trait1
6 yes 713.6400
7 no 809.7200
7 yes 621.3130
8 no 530.7900
8 yes 667.0188
9 no 634.5200
9 yes 474.8325
10 no 466.6300
10 yes 637.2717
11 yes 587.7683
12 no 432.6275
12 yes 525.1300
13 yes 452.1150
14 yes 464.4400
15 no 490.2950
15 yes 430.2133
16 yes 494.3300
17 yes 713.0600
Código
datos_p5_d <- as.data.frame(datos_p5_d)

plot_ly(datos_p5_d, x = ~Edad, y = ~media_trait1, color = ~ADHD, type = "bar",colors = c("#C0C0C0","#4682B4")) %>%
  layout(
    xaxis = list(title = "Edad"),
    yaxis = list(title = "Tiempo de reacción en ms", range = c(0, 1000)),
    title = "<b> Tiempo de reacción según género masculino menor de edad y ADHD</b>",
    labs(fill = "ADHD"),
    legend = list(title = list(text = 'Diagnóstico')),
    theme(strip.background = element_rect(fill = "blanchedalmond")))
Código
t.test(media_trait1~ADHD, data= datos_p5_d)

    Welch Two Sample t-test

data:  media_trait1 by ADHD
t = -0.066923, df = 7.8535, p-value = 0.9483
alternative hypothesis: true difference in means between group no and group yes is not equal to 0
95 percent confidence interval:
 -154.0406  145.3793
sample estimates:
 mean in group no mean in group yes 
         560.7637          565.0944 

Dado que el p-valor de 0.9483 es mayor al nivel de significancia del 0.05, se concluye con un nivel de confianza del 95%, que no existe suficiente evidencia para rechazar la hipótesis nula. Por lo tanto, en este caso, podemos concluir que existe no existe una diferencia significativa en el tiempo de reacción promedio entre los individuos masculinos enfermos y los individuos maculinos sanos.