library(dtplyr)
library(dbplyr)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:dbplyr':
## 
##     ident, sql
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(factoextra)
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(ggplot2)
library(knitr)
library(lubridate)
## 
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
## 
##     date, intersect, setdiff, union
library(NbClust)
library(plotly)
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
library(purrr)
library(readr)
library(tidyr)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0     ✔ tibble  3.2.1
## ✔ stringr 1.5.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ plotly::filter() masks dplyr::filter(), stats::filter()
## ✖ dplyr::ident()   masks dbplyr::ident()
## ✖ dplyr::lag()     masks stats::lag()
## ✖ dplyr::sql()     masks dbplyr::sql()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(readr)
Estudiantes <- read_csv("C:/Users/34656/Downloads/Estudiantes.csv", show_col_types = FALSE) 

PASOS PREVIOS (TRANSFORMACIÓN DE DATOS)

Vamos a comprobar los posibles valores nulos de las diferentes variables y ver como tratar esos datos, en el caso de esta muestra, no hay ningún valor nulo.

sum(is.na(Estudiantes))
## [1] 0

Comprobamos todos que los datos están bien, extrayendo las cinco primeras filas.

head(Estudiantes)
## # A tibble: 6 × 20
##   Timestamp Choose.your.gender   Age What.is.your.course. Your.current.year.of…¹
##   <chr>     <chr>              <dbl> <chr>                <chr>                 
## 1 8/7/2020… Mujer                 18 Engineering          1º año                
## 2 8/7/2020… Hombre                21 Islamic education    2º año                
## 3 8/7/2020… Hombre                19 BIT                  1º año                
## 4 8/7/2020… Mujer                 22 Laws                 3º año                
## 5 8/7/2020… Hombre                23 Mathemathics         4º año                
## 6 8/7/2020… Hombre                19 Engineering          2º año                
## # ℹ abbreviated name: ¹​Your.current.year.of.Study
## # ℹ 15 more variables: What.is.your.CGPA. <chr>, Marital.status <chr>,
## #   Do.you.have.Depression. <chr>, Do.you.have.Anxiety. <chr>,
## #   Do.you.have.Panic.attack. <chr>,
## #   Did.you.seek.any.specialist.for.a.treatment. <chr>,
## #   CGPA_grados_numerica <dbl>, año_curso <dbl>, Genero <dbl>, Depresion <dbl>,
## #   Ansiedad <dbl>, AtaquePanico <dbl>, Estado_Civil <dbl>, …

ANÁLISIS UNIVARIADO

ANÁLISIS DESCRIPTIVO DE LAS VARIABLES análisis UNIVARIADO FRECUENCIA DE GENERO

Podemos observar una muestra desbalanceada, donde prima el genero femenino frente al masculino, es puede aportar que mayor incidencia en ciertos trastorno como ansiedad que tiene más incidencia en mujeres que en hombres.

  data_genero <- count(Estudiantes, Choose.your.gender)
  Estudiantes$Choose.your.gender <- recode_factor(Estudiantes$Choose.your.gender, Female = "Mujer", Male = "Hombre")
  plot_ly(data_genero, values=~n, labels=~Choose.your.gender, type="pie")

HISTOGRAMA DE LA EDAD

Tenemos una edad donde mayoritariamente hay dos grandes grupos, aquellos que están iniciando una carrera y aquellos que la están finalizando o incluso están en estudios superiores de máster.

plot_ly(x = Estudiantes$Age, type = "histogram")

FRECUENCIA DEL AÑO EN EL QUE ESTUDIAN

Mayoritariamente de la muestra esta en los tres primeros años de carrera con un porcentaje acumulado del 92% de la muestra.

  data_genero <- count(Estudiantes, Your.current.year.of.Study)
  Estudiantes$Your.current.year.of.Study <- recode_factor(Estudiantes$Your.current.year.of.Study, 
                                                          "Year 1" = "1º año", "year 1" = "1º año",
                                                          "Year 2" = "2º año", "year 2" = "2º año",
                                                          "Year 3" = "3º año", "year 3" = "3º año",
                                                          "Year 4" = "4º año", "year 4" = "4º año")
  plot_ly(data_genero, values=~n, labels=~Your.current.year.of.Study, type="pie")

FRECUENCIA DE CALIFICACIONES

La muestra tiene mayor frecuencia en calificaciones medias y altas.

  data <- count(Estudiantes, CGPA_grados)
  plot_ly(data, values=~n, labels=~CGPA_grados, type="pie")

FRECUENCIA ESTADO CIVIL

La gran mayoría de la muestra es población soltera.

  data <- count(Estudiantes, Marital.status)
  Estudiantes$Marital.status <- recode_factor(Estudiantes$Marital.status, "No" = "Soltero", "Yes" = "Casado")
  plot_ly(data, values=~n, labels=~Marital.status, type="pie")

FRECUENCIA DE TRASTORNOS DE DEPRESION

La mayoría de la muestra no padece ningún síntoma depresivo.

  data <- count(Estudiantes, Do.you.have.Depression.)
  Estudiantes$Do.you.have.Depression. <- recode_factor(Estudiantes$Do.you.have.Depression., 
                                              "No" = "No tiene depresión", "Yes" = "Tiene depresión")
  plot_ly(data, values=~n, labels=~Do.you.have.Depression., type="pie")

FRECUENCIA DE TRASTORNOS DE ANSIEDAD

La mayoría de la muestra no padece ningún síntoma de ansiedad.

  data <- count(Estudiantes, Do.you.have.Anxiety.)
  Estudiantes$Do.you.have.Anxiety. <- recode_factor(Estudiantes$Do.you.have.Anxiety., "No" = "No tiene ansiedad", "Yes" = "Tiene Ansiedad")
  plot_ly(data, values=~n, labels=~Do.you.have.Anxiety., type="pie")

FRECUENCIA DE TRASTORNOS DE PANICO

La mayoría de la muestra no padece ningún síntoma de trastorno del pánico.

  data <- count(Estudiantes, Do.you.have.Panic.attack.)
  Estudiantes$Do.you.have.Panic.attack. <- recode_factor(Estudiantes$Do.you.have.Panic.attack., 
                                                    "No" = "Comeme la polla", "Yes" = "Tiene ataques de panico")
  plot_ly(data, values=~n, labels=~Do.you.have.Panic.attack., type="pie")

FRECUNCIA DE BUSQUEDA DE AYUDA

La mayoría de la muestra no ha buscado ayuda para su problema, esta no es muy superior a la muestra sin trastornos, por tanto hay una gran parte de la muestra con trastornos del animo que no ha buscado ayuda para tratarlos.

data <- count(Estudiantes, Did.you.seek.any.specialist.for.a.treatment.)
  Estudiantes$Did.you.seek.any.specialist.for.a.treatment. <- recode_factor(Estudiantes$Did.you.seek.any.specialist.for.a.treatment., "No" = "No ha buscado ayuda", "Yes" = "Ha buscado ayuda")
  plot_ly(data, values=~n, labels=~Did.you.seek.any.specialist.for.a.treatment., type="pie")

ANÁLISIS BIVARIADO

Vamos a proceder a ver si hay alguna relación entre las diferentes variables de estado de la muestra, como son el Genero, Años de estudios, las calificaciones que obtienen y el estado civil para observar si tienen o no relación con las variables objeto de estudio como son la Ansiedad, la depresión o los ataques de pánico.

A su vez también analizaremos las posibles relaciones entre las diferentes variables objeto del estudio.

Para el análisis de la relación entre variables, vamos a utilizar la prueba Chi-cuadrado que lo que mide es la relación de las frecuencias absolutas, para considerar que la fuerza de esa relación es significativa y aceptar la hipótesis de que existe una relación entre ellas, vamos a utilizar el valor P inferior a 0.05 o lo que es igual que aceptar la hipótesis de relación esta sujeto a un 5% de error como máximo.

Cuando no podamos usar Chi-cuadrado porque la muestra es muy pequeña y se incumpla el requisito de que mínimo un 20% de la muestra caiga en las diferentes celdas de la tabla de contingencia, vamos a usar el coeficiente de Fisher`s que lo que hace es calcular la probabilidad de azar de aceptar la hipótesis de relación entre las variables, haremos igual que con Chi-cuadrado y solo aceptaremos valores p inferiores al 0.05 o al 5% de error.

GENERO Y SALUD MENTAL

No hay relación significativa entre el genero y las diferentes variables de salud mental del estudio.

Genero y depresión

  chisq.test(table(Estudiantes$Choose.your.gender, Estudiantes$Do.you.have.Depression.))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(Estudiantes$Choose.your.gender, Estudiantes$Do.you.have.Depression.)
## X-squared = 1.4409, df = 1, p-value = 0.23

Genero y ansiedad

  chisq.test(table(Estudiantes$Choose.your.gender, Estudiantes$Do.you.have.Anxiety.))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(Estudiantes$Choose.your.gender, Estudiantes$Do.you.have.Anxiety.)
## X-squared = 0.12961, df = 1, p-value = 0.7188

Genero y ataques de pánico

  chisq.test(table(Estudiantes$Choose.your.gender, Estudiantes$Do.you.have.Panic.attack.))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(Estudiantes$Choose.your.gender, Estudiantes$Do.you.have.Panic.attack.)
## X-squared = 1.4409, df = 1, p-value = 0.23

AÑOS DE ESTUDIO Y SALUD MENTAL

No hay relación significativa entre el año de estudio en el que se encuentran y las diferentes variables de salud mental del estudio.

Años de estudio y depresión

  fisher.test(table(Estudiantes$Your.current.year.of.Study, Estudiantes$Do.you.have.Depression.))
## 
##  Fisher's Exact Test for Count Data
## 
## data:  table(Estudiantes$Your.current.year.of.Study, Estudiantes$Do.you.have.Depression.)
## p-value = 0.495
## alternative hypothesis: two.sided

Años de estudio y ansiedad

  fisher.test(table(Estudiantes$Your.current.year.of.Study, Estudiantes$Do.you.have.Anxiety.))
## 
##  Fisher's Exact Test for Count Data
## 
## data:  table(Estudiantes$Your.current.year.of.Study, Estudiantes$Do.you.have.Anxiety.)
## p-value = 0.9253
## alternative hypothesis: two.sided

Años de estudio y ataques de pánico

  fisher.test(table(Estudiantes$Your.current.year.of.Study, Estudiantes$Do.you.have.Panic.attack.))
## 
##  Fisher's Exact Test for Count Data
## 
## data:  table(Estudiantes$Your.current.year.of.Study, Estudiantes$Do.you.have.Panic.attack.)
## p-value = 0.495
## alternative hypothesis: two.sided

ESTADO CIVIL Y SALUD MENTAL

Hay relación entre el estado civil y la depresión, así como con los trastornos de pánico.

Estado civil y depresión

Vemos una relación muy fuerte entre el estado civil y la depresión con un probabilidad de que se deba al azar, muy pequeña.

  chisq.test(table(Estudiantes$Marital.status, Estudiantes$Do.you.have.Depression.))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(Estudiantes$Marital.status, Estudiantes$Do.you.have.Depression.)
## X-squared = 32.504, df = 1, p-value = 1.19e-08

Lo que vemos en este diagrama de barras es que al haber una frecuencia de 0 entre personas casadas y sin depresión y un gran porcentaje de solteros sin depresión. Debemos tomar estos datos con cuidado porque como vimos en el análisis univariado, hay un porcentaje mayor al 80% de la muestra que es soltera.

  data <- data.frame(  table(Estudiantes$Marital.status, Estudiantes$Do.you.have.Depression.))
  data2 <- unite(data, condiciones, c(1:2), sep = " y ")
  fig <- plot_ly(data2, x=~condiciones, y=~Freq, type = "bar")
  fig <- fig %>% layout(xaxis = list(title = ""),
                        yaxis = list(title = "Count"))
  fig

Estado civil y ansiedad

  chisq.test(table(Estudiantes$Marital.status, Estudiantes$Do.you.have.Anxiety.))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(Estudiantes$Marital.status, Estudiantes$Do.you.have.Anxiety.)
## X-squared = 0.4126, df = 1, p-value = 0.5207

Estado civil y ataques de pánico

Vemos una relación muy fuerte entre el estado civil y ataques de pánico con un probabilidad de que se deba al azar, muy pequeña.

  chisq.test(table(Estudiantes$Marital.status, Estudiantes$Do.you.have.Panic.attack.))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(Estudiantes$Marital.status, Estudiantes$Do.you.have.Panic.attack.)
## X-squared = 32.504, df = 1, p-value = 1.19e-08

Lo que vemos en este diagrama de barras es que al haber una frecuencia de 0 entre personas casadas y sin ataques de pánico y un gran porcentaje de solteros sin ataque de pánico. Debemos tomar estos datos con cuidado porque como vimos en el análisis univariado, hay un porcentaje mayor al 80% de la muestra que es soltera.

  data <- data.frame(table(Estudiantes$Marital.status, Estudiantes$Do.you.have.Panic.attack.))
  data2 <- unite(data, condiciones, c(1:2), sep = " ")
  fig <- plot_ly(data2, x=~condiciones, y=~Freq, type = "bar")
  fig <- fig %>% layout(xaxis = list(title = ""), yaxis = list(title = "Count"))
  fig

CALIFIACIONES ACADEMICAS Y SALUD MENTAL

No hay relación significativa entre el las calificaciones académicas y las diferentes variables de salud mental del estudio.

Calificaciones académicas y depresión

  fisher.test(table(Estudiantes$CGPA_grados, Estudiantes$Do.you.have.Depression.))
## 
##  Fisher's Exact Test for Count Data
## 
## data:  table(Estudiantes$CGPA_grados, Estudiantes$Do.you.have.Depression.)
## p-value = 0.1811
## alternative hypothesis: two.sided

Calificaciones académicas y ansiedad

  fisher.test(table(Estudiantes$CGPA_grados, Estudiantes$Do.you.have.Anxiety.))
## 
##  Fisher's Exact Test for Count Data
## 
## data:  table(Estudiantes$CGPA_grados, Estudiantes$Do.you.have.Anxiety.)
## p-value = 0.478
## alternative hypothesis: two.sided

Calificaciones académicas y ataques de pánico

  fisher.test(table(Estudiantes$CGPA_grados, Estudiantes$Do.you.have.Panic.attack.))
## 
##  Fisher's Exact Test for Count Data
## 
## data:  table(Estudiantes$CGPA_grados, Estudiantes$Do.you.have.Panic.attack.)
## p-value = 0.1811
## alternative hypothesis: two.sided

RELACIONES ENTRE LA SALUD MENTAL

Hay una relación entre todas las variables del estudio en lo referente a salud mental.

Depresión y ansiedad

Vemos una relación muy fuerte entre el depresión y ansiedad con un probabilidad de que se deba al azar, muy pequeña.

  chisq.test(table(Estudiantes$Do.you.have.Depression., Estudiantes$Do.you.have.Anxiety.))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(Estudiantes$Do.you.have.Depression., Estudiantes$Do.you.have.Anxiety.)
## X-squared = 6.4012, df = 1, p-value = 0.0114

Vemos que la relación lo que nos dice es que hay una probabilidad muy alta de si no tienes depresión no tengas ansiedad, no podemos sacar mas conclusiones observando el gráfico.

  data <- data.frame(  table(Estudiantes$Do.you.have.Depression., Estudiantes$Do.you.have.Anxiety.))
  data2 <- unite(data, condiciones, c(1:2), sep = " y ")
  fig <- plot_ly(data2, x=~condiciones, y=~Freq, type = "bar")
  fig <- fig %>% layout(xaxis = list(title = ""),
                        yaxis = list(title = "Count"))
  fig

Depresión y ataques de pánico

Vemos una relación muy fuerte entre el depresión y ataques de pánico con un probabilidad de que se deba al azar, muy pequeña.

  chisq.test(table(Estudiantes$Do.you.have.Depression., Estudiantes$Do.you.have.Panic.attack.))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(Estudiantes$Do.you.have.Depression., Estudiantes$Do.you.have.Panic.attack.)
## X-squared = 96.632, df = 1, p-value < 2.2e-16

Vemos que la relación lo que nos dice es que hay una probabilidad muy alta de si tienes depresión tengas ataques de pánico y a la inversa de si no tienes depresión de no tener ataques de pánico.

  data <- data.frame(  table(Estudiantes$Do.you.have.Depression., Estudiantes$Do.you.have.Panic.attack.))
  data2 <- unite(data, condiciones, c(1:2), sep = " y ")
  fig <- plot_ly(data2, x=~condiciones, y=~Freq, type = "bar")
  fig <- fig %>% layout(xaxis = list(title = ""),
                        yaxis = list(title = "Count"))
  fig

Ansiedad y ataques de pánico

Vemos una relación muy fuerte entre el estado civil y ataques de pánico con un probabilidad de que se deba al azar, muy pequeña.

  chisq.test(table(Estudiantes$Do.you.have.Anxiety., Estudiantes$Do.you.have.Panic.attack.))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(Estudiantes$Do.you.have.Anxiety., Estudiantes$Do.you.have.Panic.attack.)
## X-squared = 6.4012, df = 1, p-value = 0.0114

Vemos que la relación lo que nos dice es que hay una probabilidad muy alta de si no tienes ataques de pánico, tampoco tengas ansiedad.

  data <- data.frame(  table(Estudiantes$Do.you.have.Anxiety., Estudiantes$Do.you.have.Panic.attack.))
  data2 <- unite(data, condiciones, c(1:2), sep = " y ")
  fig <- plot_ly(data2, x=~condiciones, y=~Freq, type = "bar")
  fig <- fig %>% layout(xaxis = list(title = ""),
                        yaxis = list(title = "Count"))
  fig

ANÁLISIS DE CLUSTER EN BASE A LA K-MEDIA

1. Aproximación del modelo de forma exploratoria

Mapa de calor

El mapa de calor nos muestra que la mayoría de interacciones entre los diferentes sujetos es de relación débil, no vemos rojos intensos y gran parte del segmento del mapa están en una azul muy frió, aun así vamos a realizar un exploración de cuantos cluster se nos recomienda.

df <- data.frame(Estudiantes[,12:19],Estudiantes$Age)
m_distancia <- get_dist(df, method = "euclidean")
fviz_dist(m_distancia, gradient = list(low = "blue", mid = "white", high = "red"))

Número de factores

Se nos recomienda dos factores a través del método de la silueta. Que nos dice cuantos objetos ha diferentes entre si, es decir cuantos objetos cohesionados a encontrado.

fviz_nbclust(df,kmeans, method = "silhouette")

Genero los K-Means

Sabiendo que son 2 lso clusters, calculo lso Kmeans, es decir las medias de distancia entre las diferentes elementos que componen los clusters con referencia a las variables, apra ver cual alejados estan lso puntos. Estos K-means nos muestra que salvo la Edad, la busquedad de ayuda y el año que curso, el rsto de medias de distancia son muy parecidas entre lso dos clusters. Esto quiere decir nos dara seguramente dos clusters de datos poco definidos.

k2 <- kmeans(df, centers = 2, nstart = 25)
k2
## K-means clustering with 2 clusters of sizes 63, 38
## 
## Cluster means:
##   CGPA_grados_numerica año_curso    Genero Depresion  Ansiedad AtaquePanico
## 1             3.365079  1.761905 0.7301587 0.3650794 0.3809524    0.3015873
## 2             3.500000  2.315789 0.7631579 0.3157895 0.2631579    0.3684211
##   Estado_Civil Busquedad_ayuda Estudiantes.Age
## 1    0.1269841      0.04761905        18.69841
## 2    0.2105263      0.07894737        23.55263
## 
## Clustering vector:
##   [1] 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 2 2 2 1 1 1 2 2 2 1 1 1 1 1 1
##  [38] 1 1 2 2 2 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 2 1 1 1 2 2 2 1 1 1 2 2 1 1 1
##  [75] 2 2 2 1 1 1 2 2 1 1 2 1 1 1 2 2 2 1 1 1 2 1 1 1 1 2 1
## 
## Within cluster sum of squares by cluster:
## [1] 192.2857 115.4737
##  (between_SS / total_SS =  64.8 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"

Representación gráfica de los clusters

En el gráfico se puede observar que en efecto, los dos clusters están muy poco definidos.

fviz_cluster(k2, data=df)

2. Optimización del modelo de cluster

Seleccionamos las variables donde vemos que realmente hay diferencias significativas en las medias, pues estas son las que dividen la muestra y van a realizar el agrupamiento de una forma mas eficiente.

Estas variables son: el estado Civil, Búsqueda de Ayuda y La edad de los estudiantes

Cluster means:

CGPA_grados_numérica Genero Depresion Ansiedad AtaquePanico Estado_Civil

1 3.500000 0.7631579 0.3157895 0.2631579 0.3684211 0.2105263

2 3.365079 0.7301587 0.3650794 0.3809524 0.3015873 0.1269841

Busquedad_ayuda año_curso Estudiantes.Age

1 0.07894737 2.763158 23.55263

2 0.04761905 2.396825 18.69841

Mapa de Calor

Ahora podemos observar un mapa de calor mucho mas definido, con un bloque pequeño rojo intenso y uno azul, lo que muestra que muestra muy relacionada entre si y otra que no, que es justo lo que buscamos cuando haces este tipo de análisis multivariado exploratorio.

df_2 <- data.frame(Estudiantes$Age, Estudiantes$Estado_Civil,Estudiantes$Busquedad_ayuda)

m_distancia <- get_dist(df_2, method = "euclidean")

fviz_dist(m_distancia, gradient = list(low = "blue", mid = "white", high = "red"))

Número de factores

El método de la silueta nos recomienda usas dos clusters.

fviz_nbclust(df_2,kmeans, method = "silhouette")

Generación de K-means

Vemos que hay unas medias de media de distancia entre los dos cluster, mas o menos diferenciadas, lo que va a dar lugar a dos clister bien definidos.

k2_1 <- kmeans(df_2, centers = 2, nstart = 25)
k2_1
## K-means clustering with 2 clusters of sizes 38, 63
## 
## Cluster means:
##   Estudiantes.Age Estudiantes.Estado_Civil Estudiantes.Busquedad_ayuda
## 1        23.55263                0.2105263                  0.07894737
## 2        18.69841                0.1269841                  0.04761905
## 
## Clustering vector:
##   [1] 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 1 1 1 2 2 2 1 1 1 2 2 2 2 2 2
##  [38] 2 2 1 1 1 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 1 2 2 2 1 1 1 2 2 2 1 1 2 2 2
##  [75] 1 1 1 2 2 2 1 1 2 2 1 2 2 2 1 1 1 2 2 2 1 2 2 2 2 1 2
## 
## Within cluster sum of squares by cluster:
## [1] 22.47368 55.11111
##  (between_SS / total_SS =  87.8 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"

Representación gráfica de los dos clister

Tenemos dos clister, muy definidos como podemos observar, una vez que hemos reducido las variables agrupadoras de la muestra en tres.

fviz_cluster(k2_1, data=df_2)

CONCLUSIÓN

Podemos extraer tres conclusiones principales de de este análisis exploratorio.

  1. El estado civil de los individuos, afecta a su estado mental. Aquellos individuos casados tienen mayor relación con sintomaatologia depresiva y muestran ataques de pánico.

  2. Las tres variables de salud mental están muy relacionadas entre si, es decir que hay una correlación entre la ansiedad y la depresión, la depresión y los ataques de pánico y la ansiedad y los ataques de pánico. Lo cual indica una alta comorbilidad sintomatologica entre estos tres pares de variables (ansiedad-ataques de pánico; ansiedad - depresión; depresión - ataques de pánico).

  3. La muestra se dividen en dos grandes conjuntos, definidos por el estado civil, la edad y la búsqueda de ayuda.

  1. Jóvenes Solteros que no buscan ayuda.

  2. Adultos casados que buscan ayuda.

Esto nos permite en futuras investigaciones comprobar si la población universitaria se divide en estos dos factores en cuanto a salud mental y poder generar un modelo predictivo de la conducta en base a estas tres variables.

Estas conclusiones no son extrapolables a la sociedad mas halla de esta muestra, dado que por un lado el numero de datos no es representativo y por otro la distribución de las variables no sigue una normalidad o centralidad, teniendo diferentes variables que se podían haber controlado que puedan estar incidiendo en estos resultados, como lo son el genero, años de estudio, estado civil y la edad.

Por otro lado se recomienda utilizar test de screening para medir trastornos emocionales como la ansiedad y la depresión y no dejarlo en manos de la autopercepción de los individuos que participan en el estudio.