El acné es una enfermedad crónica e inflamatoria, que presenta una alta prevalencia particularmente en la adolescencia, y que afecta directamente en la piel. Puede de una u otra forma alterar la imagen exterior, y por lo tanto afectar de manera significativa la calidad de vida de las personas que la padecen. Los datos que se encuentran en la plataforma (acne.xls) corresponden a una muestra de pacientes que participaron en el estudio “EVALUACIÓN DE LA CALIDAD DE VIDA EN PACIENTES CON ACNÉ: VALIDACIÓN DE UNA ESCALA DE MEDICIÓN”
# Cargue de datos
setwd("C:/Users/leona/Dropbox/MAESTRIA PROVISIONAL/ANALISIS MULTIVARIADO/Parcial 1")
library(rio)
acne<-import("acne.xls")
Se cargan los datos. Se hace un examen general descriptivo de las variables para comprender las unidades en que están expresadas y el comportamiento de los promedios y las varianzas. La base de datos está conformada por 19 variables medidas en escala Likert con una escala de 1 a 7. La gráfica 1 presenta la distribución de las variables.
boxplot(acne[,-1], las =2, main ="Figura 1. Variables incluidas", col = c(1:20), cex.axis=0.8)
Se identifican valores atípicos en la variable Granos y en la variable Grasosa la piel . Esta última variable tiene un promedio de 1.03, siendo distinta de las demas variables registradas. Se considera apropiado trabajar con la matriz de correlación para la construcción del modelo de componentes principales. Se realiza la construcción de la matriz de correlación y se visualiza en la figura 2.
library(ggcorrplot)
## Loading required package: ggplot2
mcoracne<-cor(acne[,-1])
p.mat<-cor_pmat(acne[-1])
ggcorrplot(mcoracne, title = "Figura 2. Matriz de correlación",
p.mat = p.mat,
tl.cex = 6
)
Las correlaciones marcadas con X son indicativas que su p-valor no fue significativo. En general, hay correlación entre las variables. La variable Grasosa la piel no tuvo correlación significativa casi con ninguna otra variable. El determinante de la matriz es de 5.996462510^{-6}, el cual es diferente de cero y todos los elementos de la diagonal son de valor 1, por lo que se considera apropiada como entrada para el análisis de componentes principales. Se revisa el paquete de análisis. La opción covmat permite como parametro de entrada la matriz de covarianza o correlación. Para que calcule basado en la matriz de correlación, el parámetro cor debe ser verdadero.
library(psych)
##
## Attaching package: 'psych'
## The following objects are masked from 'package:ggplot2':
##
## %+%, alpha
acp1<-princomp(covmat=mcoracne, cor = T)
summary(acp1, loadings = T)
## Importance of components:
## Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
## Standard deviation 3.0423786 1.14554674 1.08490992 0.99448564 0.91983205
## Proportion of Variance 0.4871614 0.06906723 0.06194892 0.05205272 0.04453111
## Cumulative Proportion 0.4871614 0.55622867 0.61817760 0.67023032 0.71476142
## Comp.6 Comp.7 Comp.8 Comp.9 Comp.10
## Standard deviation 0.81956828 0.79046187 0.76544636 0.73516124 0.6669899
## Proportion of Variance 0.03535222 0.03288579 0.03083727 0.02844537 0.0234145
## Cumulative Proportion 0.75011364 0.78299943 0.81383670 0.84228207 0.8656966
## Comp.11 Comp.12 Comp.13 Comp.14 Comp.15
## Standard deviation 0.65354692 0.60150830 0.58298940 0.53810166 0.53264740
## Proportion of Variance 0.02248019 0.01904275 0.01788824 0.01523965 0.01493228
## Cumulative Proportion 0.88817676 0.90721951 0.92510775 0.94034741 0.95527968
## Comp.16 Comp.17 Comp.18 Comp.19
## Standard deviation 0.50542092 0.47095427 0.431957755 0.431103581
## Proportion of Variance 0.01344475 0.01167357 0.009820395 0.009781595
## Cumulative Proportion 0.96872444 0.98039801 0.990218405 1.000000000
##
## Loadings:
## Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7
## Atractivo 0.145 0.341 0.140 0.785 0.357
## Avergonzado 0.256 0.124 -0.421
## Inseguro 0.254 -0.229 0.111 -0.336 -0.251
## Disgustado 0.237 -0.203 -0.154 0.148 -0.263 -0.328
## Molesto 0.231 -0.310 -0.147
## Insatisfecho 0.277 -0.257
## Preocupado 0.263 -0.187 0.139
## Preocupadopormedicamentos 0.188 -0.527 -0.183 0.344 0.127
## Molestopornecesidaddemedica 0.216 -0.361 -0.141 0.194
## Negativamentelaconfianza 0.274 -0.159 0.118 -0.218
## Preocupadoporconocerpersonas 0.252 -0.153 0.138 0.106 -0.163 0.246
## Preocupadoporsaliralugares 0.272 -0.192 0.108 0.123 -0.169 0.176
## Socializarconotros 0.253 -0.244 0.199 0.143 -0.232 0.183 0.231
## Interactuarconpersonasquele 0.254 -0.216 0.109 -0.177 0.278
## Granos 0.196 0.512 0.149 -0.165 0.150 -0.224
## Granosconpus 0.190 0.535 0.172 -0.232 0.122 -0.225
## Costras 0.213 0.370 -0.379 0.395
## Preocupadodetenercicatrices 0.223 0.225 -0.161 0.263 -0.154 0.498
## Grasosalapiel -0.377 0.895 -0.105
## Comp.8 Comp.9 Comp.10 Comp.11 Comp.12 Comp.13
## Atractivo 0.135 0.208
## Avergonzado 0.138 0.452 0.223 -0.248 -0.329
## Inseguro -0.207 0.231 -0.296
## Disgustado 0.387 0.132 -0.200 0.214 0.456 -0.281
## Molesto 0.375 0.525 -0.251 -0.283 0.422
## Insatisfecho -0.229 -0.211 -0.241
## Preocupado -0.489 -0.151 0.282 0.296
## Preocupadopormedicamentos -0.320 0.466 0.200 0.177
## Molestopornecesidaddemedica -0.619 0.304 -0.138 0.118 -0.381
## Negativamentelaconfianza -0.255 -0.136 -0.128 0.204
## Preocupadoporconocerpersonas 0.215 -0.159 -0.314 0.404 -0.330
## Preocupadoporsaliralugares 0.125 0.111 -0.163
## Socializarconotros 0.296 -0.100
## Interactuarconpersonasquele 0.183 0.179 -0.401 0.376 -0.102
## Granos -0.143 0.236 -0.382 -0.137 -0.264
## Granosconpus 0.155 0.258 0.109
## Costras -0.223 0.254 0.253 0.118 0.420
## Preocupadodetenercicatrices 0.168 -0.215 -0.369 -0.315 -0.217 -0.181
## Grasosalapiel -0.105
## Comp.14 Comp.15 Comp.16 Comp.17 Comp.18 Comp.19
## Atractivo
## Avergonzado -0.173 -0.444 0.100 -0.229
## Inseguro 0.371 0.340 -0.119 0.345 -0.319
## Disgustado 0.345
## Molesto -0.121 -0.105 0.166 -0.141
## Insatisfecho -0.430 -0.257 -0.532 -0.376
## Preocupado -0.325 -0.343 0.147 0.364 -0.225
## Preocupadopormedicamentos 0.223 0.118 -0.111 -0.137
## Molestopornecesidaddemedica -0.173 0.119 0.107 0.176
## Negativamentelaconfianza 0.105 0.341 0.130 0.473 -0.421 0.376
## Preocupadoporconocerpersonas -0.154 0.391 -0.375 -0.140
## Preocupadoporsaliralugares -0.474 0.190 0.439 0.525
## Socializarconotros -0.104 -0.325 0.159 0.264 -0.284 -0.526
## Interactuarconpersonasquele 0.163 0.416 -0.204 -0.281 0.188 0.184
## Granos -0.388 0.316
## Granosconpus 0.506 -0.331 0.122 -0.147
## Costras -0.212 0.204 -0.165 0.115
## Preocupadodetenercicatrices 0.319 0.139
## Grasosalapiel
Se realiza el gráfico de sedimentación para evaluar el número de componentes que puede ser sugerido.
screeplot(acp1, type="lines", main="Figura 8. Gráfico de sedimentacion")
abline(h=1, col ="red")
El gráfico sugiere que se deben incluir los primeros tres componentes. Tomando el criterio de tener un valor propio mayor a 1 se seleccionarían los tres primeros componentes. Sin embargo, el valor propio del cuarto componente es de 0.994 y al incluirlo se explica el 67% de la varianza.
## Solución con tres componentes.
graf<-acp1$loadings[,1:3]
# Tabla con las cargas de los componentes
library(pander)
graf
## Comp.1 Comp.2 Comp.3
## Atractivo 0.1450145 0.02747594 0.3411413597
## Avergonzado 0.2558158 -0.06188731 0.0300473073
## Inseguro 0.2538686 -0.22921297 0.1110714947
## Disgustado 0.2371726 -0.05820247 -0.2031297460
## Molesto 0.2314692 -0.02745839 -0.3099504005
## Insatisfecho 0.2767605 -0.04650700 0.0159632835
## Preocupado 0.2626723 0.04796317 -0.0001799721
## Preocupadopormedicamentos 0.1884475 0.07131108 -0.5267183732
## Molestopornecesidaddemedica 0.2155396 -0.01806409 -0.3614684119
## Negativamentelaconfianza 0.2737582 -0.15935629 0.1181722100
## Preocupadoporconocerpersonas 0.2516548 -0.15324046 0.1379390786
## Preocupadoporsaliralugares 0.2721724 -0.19169453 0.1084407249
## Socializarconotros 0.2531393 -0.24353272 0.1985305596
## Interactuarconpersonasquele 0.2536300 -0.21638121 0.1093000622
## Granos 0.1962533 0.51230441 0.1486561018
## Granosconpus 0.1901267 0.53546107 0.1715454327
## Costras 0.2129298 0.37016739 0.0942011860
## Preocupadodetenercicatrices 0.2229297 0.22530918 -0.1606444719
## Grasosalapiel 0.0350514 0.01202710 -0.3773410584
Se revisan las cargas para cada componente y se identifican las variables que tienen mayor carga.
C1<-c("Avergonzado","Insatisfecho", "NegativaLaConfianza", "Preocupado por salir a lugares"
)
Cargas1<-c(0.255, 0.2767, 0.273, 0.272)
C2<-c("Granos", "Granosconpus", "Costras", "Preocupadoportenercicatrices")
Cargas2<-c(0.512, 0.535, 0.370, 0.225)
C3<-c("Atractivo", "Molesto", "Preocupadopormedicamentos", "Molestopornecesidaddemedica")
Cargas3<-c(0.341, -0.309, -0.526, -0.361)
Componentes<-data.frame(C1, Cargas1, C2, Cargas2, C3, Cargas3)
library(pander)
pander(Componentes)
| C1 | Cargas1 | C2 |
|---|---|---|
| Avergonzado | 0.255 | Granos |
| Insatisfecho | 0.2767 | Granosconpus |
| NegativaLaConfianza | 0.273 | Costras |
| Preocupado por salir a lugares | 0.272 | Preocupadoportenercicatrices |
| Cargas2 | C3 | Cargas3 |
|---|---|---|
| 0.512 | Atractivo | 0.341 |
| 0.535 | Molesto | -0.309 |
| 0.37 | Preocupadopormedicamentos | -0.526 |
| 0.225 | Molestopornecesidaddemedica | -0.361 |
Cada componente podría ser definido por cuatro variables, sin que identifiquen cargas cruzadas entre los componentes. De esta forma, se podrían eliminar las variables molesto, preocupado, preocupadoporconocerpersonas, socializarconotros, interactuarconotraspersonasquele y grasosalapiel.
Se parte del modelo teórico planteado. Se realiza un análisis factorial confirmadorio con el modelo propuesto por el autor.
library(lavaan)
## This is lavaan 0.6-7
## lavaan is BETA software! Please report any bugs.
##
## Attaching package: 'lavaan'
## The following object is masked from 'package:psych':
##
## cor2cov
modelo1<- '
autoperc = ~ Atractivo + Avergonzado + Inseguro + Insatisfecho + Negativamentelaconfianza
emocional = ~ Disgustado + Molesto + Preocupado + Preocupadopormedicamentos + Molestopornecesidaddemedica
social = ~ Preocupadoporconocerpersonas + Preocupadoporsaliralugares + Socializarconotros + Interactuarconpersonasquele
Sintomas = ~ Granos + Granosconpus + Costras + Preocupadodetenercicatrices + Grasosalapiel
'
m1<-cfa(modelo1, data = acne)
m1
## lavaan 0.6-7 ended normally after 60 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 44
##
## Number of observations 349
##
## Model Test User Model:
##
## Test statistic 455.667
## Degrees of freedom 146
## P-value (Chi-square) 0.000
El modelo converge. Se crea el diagrama de caminos
library(semPlot)
## Registered S3 methods overwritten by 'huge':
## method from
## plot.sim BDgraph
## print.sim BDgraph
semPaths(m1, intercepts = FALSE,edge.label.cex=0.8,
optimizeLatRes = TRUE, groups = "lat",pastel = TRUE,
exoVar = FALSE, sizeInt=3,edge.color ="black",esize = 3,
label.prop=1,sizeLat = 6,"std", layout="tree")
Se revisan las cargas en comparación con el modelo propuesto por el autor. En los tres primeros componentes no se identifican diferencias. Sin embargo, en el cuarto componente, la carga de la variable Grasosalapiel es muy inferior a la identificada por el autor.Se evalua el ajuste del modelo propuesto.
fitMeasures(m1)
## npar fmin chisq df
## 44.000 0.653 455.667 146.000
## pvalue baseline.chisq baseline.df baseline.pvalue
## 0.000 4196.495 171.000 0.000
## cfi tli nnfi rfi
## 0.923 0.910 0.910 0.873
## nfi pnfi ifi rni
## 0.891 0.761 0.924 0.923
## logl unrestricted.logl aic bic
## -10672.866 -10445.032 21433.731 21603.355
## ntotal bic2 rmsea rmsea.ci.lower
## 349.000 21463.772 0.078 0.070
## rmsea.ci.upper rmsea.pvalue rmr rmr_nomean
## 0.086 0.000 0.158 0.158
## srmr srmr_bentler srmr_bentler_nomean crmr
## 0.051 0.051 0.051 0.053
## crmr_nomean srmr_mplus srmr_mplus_nomean cn_05
## 0.053 0.051 0.051 135.186
## cn_01 gfi agfi pgfi
## 145.502 0.882 0.846 0.678
## mfi ecvi
## 0.642 1.558
Se concluye que en los tres primeros factores el modelo propuesto es similar a la estructura que se identifica. Sin embargo, la carga de la variable Grasosapiel hace que el cuarto componente no sea similar. Esta variable debería ser considerada para eliminación.
Se realiza un análisis factorial exploratorio incluyendo todas las variables incluidas en la base de datos. Basado en los hallazgos del PCA se considera que se deben extraer tres factores. Se extraen los factores utilizando el método de componentes principales. Basado en el tamaño de la muestra que es de 390, se deberían considerar cargas mayores de 0.3.Se trabaja inicialmente con la matriz de correlación. Se inicia realizando una prueba de esfericidad de Bartlett con la hipótesis nula de que alguna de las correlaciones es cero.
library(REdaS)
## Loading required package: grid
bart_spher(mcoracne)
## Bartlett's Test of Sphericity
##
## Call: bart_spher(x = mcoracne)
##
## X2 = 597.391
## df = 171
## p-value < 2.22e-16
La prueba rechaza la hipótesis nula. Se realiza la prueba KMO de adecuación de muestreo.
KMO(acne[,-1])
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = acne[, -1])
## Overall MSA = 0.94
## MSA for each item =
## Atractivo Avergonzado
## 0.95 0.95
## Inseguro Disgustado
## 0.94 0.95
## Molesto Insatisfecho
## 0.95 0.96
## Preocupado Preocupadopormedicamentos
## 0.94 0.90
## Molestopornecesidaddemedica Negativamentelaconfianza
## 0.93 0.95
## Preocupadoporconocerpersonas Preocupadoporsaliralugares
## 0.96 0.95
## Socializarconotros Interactuarconpersonasquele
## 0.93 0.96
## Granos Granosconpus
## 0.90 0.87
## Costras Preocupadodetenercicatrices
## 0.93 0.95
## Grasosalapiel
## 0.63
El valor global es de 0.94. Ninguna variable tuvo un valor inferior a 0.5 por lo que se considera que se pueden incluir todas en el análisis. Se realiza entonces el análisis factorial exploratorio, extrayendo tres factores, con rotación varimax.
library(REdaS)
library(psych)
(efa1 <- principal(mcoracne, nfactors=3, rotate="varimax", cor="pearson"))
## Principal Components Analysis
## Call: principal(r = mcoracne, nfactors = 3, rotate = "varimax", cor = "pearson")
## Standardized loadings (pattern matrix) based upon correlation matrix
## RC1 RC2 RC3 h2 u2 com
## Atractivo 0.45 0.32 -0.17 0.33 0.67 2.1
## Avergonzado 0.67 0.31 0.27 0.61 0.39 1.8
## Inseguro 0.79 0.16 0.18 0.68 0.32 1.2
## Disgustado 0.54 0.23 0.48 0.57 0.43 2.3
## Molesto 0.47 0.22 0.58 0.61 0.39 2.2
## Insatisfecho 0.70 0.35 0.31 0.71 0.29 1.9
## Preocupado 0.61 0.42 0.31 0.64 0.36 2.3
## Preocupadopormedicamentos 0.24 0.20 0.75 0.66 0.34 1.3
## Molestopornecesidaddemedica 0.41 0.19 0.62 0.58 0.42 2.0
## Negativamentelaconfianza 0.80 0.26 0.20 0.74 0.26 1.3
## Preocupadoporconocerpersonas 0.75 0.24 0.15 0.64 0.36 1.3
## Preocupadoporsaliralugares 0.81 0.23 0.20 0.75 0.25 1.3
## Socializarconotros 0.82 0.17 0.09 0.72 0.28 1.1
## Interactuarconpersonasquele 0.78 0.18 0.18 0.67 0.33 1.2
## Granos 0.22 0.82 0.11 0.73 0.27 1.2
## Granosconpus 0.20 0.84 0.08 0.75 0.25 1.1
## Costras 0.33 0.69 0.18 0.61 0.39 1.6
## Preocupadodetenercicatrices 0.35 0.49 0.44 0.56 0.44 2.8
## Grasosalapiel -0.05 -0.04 0.42 0.18 0.82 1.0
##
## RC1 RC2 RC3
## SS loadings 6.32 3.02 2.40
## Proportion Var 0.33 0.16 0.13
## Cumulative Var 0.33 0.49 0.62
## Proportion Explained 0.54 0.26 0.20
## Cumulative Proportion 0.54 0.80 1.00
##
## Mean item complexity = 1.6
## Test of the hypothesis that 3 components are sufficient.
##
## The root mean square of the residuals (RMSR) is 0.05
##
## Fit based upon off diagonal values = 0.99
Se evaluan las cargas de las variables en cada factor. Se considera como significativas las cargas de 0.5 o mayores.
print(efa1$loadings, cut = 0.5)
##
## Loadings:
## RC1 RC2 RC3
## Atractivo
## Avergonzado 0.666
## Inseguro 0.788
## Disgustado 0.540
## Molesto 0.582
## Insatisfecho 0.703
## Preocupado 0.607
## Preocupadopormedicamentos 0.753
## Molestopornecesidaddemedica 0.615
## Negativamentelaconfianza 0.797
## Preocupadoporconocerpersonas 0.747
## Preocupadoporsaliralugares 0.809
## Socializarconotros 0.825
## Interactuarconpersonasquele 0.779
## Granos 0.816
## Granosconpus 0.836
## Costras 0.687
## Preocupadodetenercicatrices
## Grasosalapiel
##
## RC1 RC2 RC3
## SS loadings 6.321 3.022 2.403
## Proportion Var 0.333 0.159 0.126
## Cumulative Var 0.333 0.492 0.618
Basados en este criterio, las variables preocupadoportenercicatrices y Grasosalapiel se consideran candidatas a ser eliminadas del análisis. El modelo explica el 61% de la varianza. Los componentes construidos podrían ser nombrados como “Autoestima y relaciónes sociales”, “Síntomas de la enfermedad” y “Efectos del tratamiento”, basados en las variables que cargan a cada factor.
Se inicia realizando un agrupamiento jerárquico no supervisado. Se inicia evaluando el promedio y la varianza de cada variable.
m.acne<-acne[,-1]
library(summarytools)
descr(m.acne, stats = c("mean", "sd"), transpose = T)
## Descriptive Statistics
## m.acne
## N: 349
##
## Mean Std.Dev
## ---------------------------------- ------ ---------
## Atractivo 3.02 1.35
## Avergonzado 4.47 1.75
## Costras 4.57 1.50
## Disgustado 3.74 1.83
## Granos 3.66 1.26
## Granosconpus 4.58 1.43
## Grasosalapiel 1.03 0.35
## Insatisfecho 4.07 1.77
## Inseguro 4.83 1.68
## Interactuarconpersonasquele 4.70 1.95
## Molesto 4.13 1.88
## Molestopornecesidaddemedica 4.28 1.99
## Negativamentelaconfianza 4.59 1.83
## Preocupado 3.52 1.85
## Preocupadodetenercicatrices 3.10 1.93
## Preocupadoporconocerpersonas 4.70 1.87
## Preocupadopormedicamentos 4.25 2.04
## Preocupadoporsaliralugares 4.72 1.96
## Socializarconotros 5.13 1.87
Las varianzas son diferentes entres las variables. Se decide realizar el análisis utilizando la matriz estandarizada. Se construye la matriz de disimilaridad utilizando una distancia euclideana.
# Estandarización de la matriz
e.m.acne<-scale(m.acne)
# Creación de la matriz de distancias
dis.e.m.acne<-dist(e.m.acne, method = "euclidean")
La gráfica de la matriz de distancia es la siguiente.
library(factoextra)
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(cluster)
mat.dist<-get_dist(dis.e.m.acne)
fviz_dist(mat.dist)
Para la realización del agrupamiento jerárquico se utiliza el método de ligamiento completo que se considera el más apropiado.
library(cluster)
lig.completo<-hclust(dis.e.m.acne, method = "complete")
plot(lig.completo, main="Ligamiento completo")
No se identifica visualmente cual es el número óptimo de clusters. Se realiza la evaluación por otros métodos. Utilizando un modelo bayesiano se obtiene lo siguiente:
library(mclust)
## Package 'mclust' version 5.4.6
## Type 'citation("mclust")' for citing this R package in publications.
##
## Attaching package: 'mclust'
## The following object is masked from 'package:psych':
##
## sim
(b.modelo<-Mclust(e.m.acne))
## 'Mclust' model object: (EEI,7)
##
## Available components:
## [1] "call" "data" "modelName" "n"
## [5] "d" "G" "BIC" "loglik"
## [9] "df" "bic" "icl" "hypvol"
## [13] "parameters" "z" "classification" "uncertainty"
Este modelo sugieren la existencia de 7 clusters en los datos. Se utiliza esta información para realizar una partición utilizando el método de k-medias para siete grupos.
kmedias<-kmeans(e.m.acne, centers = 7,iter.max = 100, algorithm = c("Hartigan-Wong"), nstart = 10)
# Graficas de número de clusters
fviz_nbclust(e.m.acne, kmeans, method = "wss")
## Registered S3 methods overwritten by 'car':
## method from
## influence.merMod lme4
## cooks.distance.influence.merMod lme4
## dfbeta.influence.merMod lme4
## dfbetas.influence.merMod lme4
fviz_nbclust(e.m.acne, kmeans, method = "silhouette")
El método gráfico también sugiere la existencia de siete grupos. Se exploran las diferencias de cada cluster utilizando los datos originales y no los datos estandarizados. Los datos se presentan para cada grupo. Se presenta el tamaño de cada cluster encontrando que uno de los clusters tiene solo tres elementos. Este grupo corresponde a los sujetos con un alto puntaje en todas las variables, incluida la variable Grasosapiel
# Tamaño de cada cluster
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
kmedias$size
## [1] 71 80 17 64 68 3 46
mediascluster<-acne %>%
mutate(Cluster = kmedias$cluster) %>%
group_by(Cluster) %>%
summarise_all("mean")
pander(mediascluster)
| Cluster | IdPaciente | Atractivo | Avergonzado | Inseguro | Disgustado |
|---|---|---|---|---|---|
| 1 | 189.8 | 2.535 | 2.676 | 2.986 | 2.113 |
| 2 | 217.1 | 3.925 | 6.062 | 6.325 | 5.487 |
| 3 | 180.5 | 1.471 | 2.706 | 2.706 | 2.824 |
| 4 | 217.2 | 2.797 | 3.891 | 4.641 | 2.797 |
| 5 | 194.9 | 2.956 | 4.809 | 4.926 | 4.015 |
| 6 | 202.3 | 3.333 | 6 | 5.667 | 5.333 |
| 7 | 174.5 | 3.174 | 5.326 | 5.957 | 4.37 |
| Molesto | Insatisfecho | Preocupado | Preocupadopormedicamentos |
|---|---|---|---|
| 2.296 | 2.169 | 1.915 | 2.211 |
| 5.812 | 6 | 5.713 | 5.975 |
| 3.647 | 1.765 | 1.529 | 6.412 |
| 3.266 | 3.469 | 2.484 | 3.328 |
| 4.559 | 4.25 | 3.706 | 4.559 |
| 6.667 | 5.667 | 3.333 | 6.667 |
| 4.609 | 4.935 | 4.087 | 4.239 |
| Molestopornecesidaddemedica | Negativamentelaconfianza |
|---|---|
| 2.239 | 2.535 |
| 6.175 | 6.463 |
| 5.529 | 2.176 |
| 3.094 | 4.109 |
| 4.544 | 4.618 |
| 6.333 | 6.333 |
| 4.783 | 5.935 |
| Preocupadoporconocerpersonas | Preocupadoporsaliralugares | Socializarconotros |
|---|---|---|
| 2.718 | 2.38 | 2.817 |
| 6.513 | 6.688 | 6.662 |
| 2.647 | 1.941 | 2.706 |
| 4.359 | 4.625 | 5.297 |
| 4.456 | 4.618 | 5.147 |
| 6.333 | 7 | 6.667 |
| 6.065 | 6.109 | 6.543 |
| Interactuarconpersonasquele | Granos | Granosconpus | Costras |
|---|---|---|---|
| 2.282 | 3.07 | 4.042 | 3.493 |
| 6.475 | 4.7 | 5.65 | 5.975 |
| 3.353 | 1.941 | 2.412 | 2.941 |
| 4.453 | 2.969 | 3.656 | 3.828 |
| 4.765 | 4.235 | 5.324 | 5.221 |
| 5.333 | 4.333 | 5.333 | 5.667 |
| 6.022 | 3.5 | 4.522 | 4.391 |
| Preocupadodetenercicatrices | Grasosalapiel |
|---|---|
| 1.563 | 1 |
| 5.263 | 1 |
| 1.588 | 1 |
| 2.203 | 1 |
| 3.897 | 1 |
| 5 | 4.667 |
| 2.196 | 1 |
Se realiza la representación en el plano de los grupos.
fviz_cluster(kmedias, data= m.acne)
La representación gráfica de los grupos revela sobreposición, sin una completa discriminación de algunos elementos. Se realizan pruebas de hipótesis para evaluar si existen diferencias entre los grupos.
acneCluster<-(mediascluster<-acne %>%
mutate(Cluster = kmedias$cluster))
anova(lm(acneCluster$Atractivo~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Atractivo
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 0.01 0.01207 0.0066 0.9354
## Residuals 347 635.80 1.83229
anova(lm(acneCluster$Avergonzado~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Avergonzado
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 68.62 68.623 23.9 1.554e-06 ***
## Residuals 347 996.31 2.871
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(lm(acneCluster$Inseguro~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Inseguro
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 92.62 92.624 36.287 4.345e-09 ***
## Residuals 347 885.74 2.553
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(lm(acneCluster$Disgustado~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Disgustado
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 28.45 28.4528 8.7192 0.003363 **
## Residuals 347 1132.34 3.2632
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(lm(acneCluster$Molesto~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Molesto
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 41.75 41.746 12.179 0.0005457 ***
## Residuals 347 1189.45 3.428
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(lm(acneCluster$Insatisfecho~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Insatisfecho
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 55.12 55.124 18.421 2.3e-05 ***
## Residuals 347 1038.36 2.992
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(lm(acneCluster$Preocupado~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Preocupado
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 9.47 9.4749 2.7683 0.09705 .
## Residuals 347 1187.65 3.4226
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(lm(acneCluster$Preocupadopormedicamentos~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Preocupadopormedicamentos
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 17.39 17.3884 4.2271 0.04053 *
## Residuals 347 1427.42 4.1136
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(lm(acneCluster$Molestopornecesidaddemedica~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Molestopornecesidaddemedica
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 31.81 31.814 8.2248 0.004385 **
## Residuals 347 1342.23 3.868
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(lm(acneCluster$Negativamentelaconfianza~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Negativamentelaconfianza
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 103.37 103.366 33.874 1.338e-08 ***
## Residuals 347 1058.86 3.051
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(lm(acneCluster$Preocupadoporconocerpersonas~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Preocupadoporconocerpersonas
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 87.77 87.775 26.858 3.724e-07 ***
## Residuals 347 1134.03 3.268
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(lm(acneCluster$Preocupadoporsaliralugares~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Preocupadoporsaliralugares
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 134.09 134.085 38.468 1.583e-09 ***
## Residuals 347 1209.51 3.486
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(lm(acneCluster$Socializarconotros~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Socializarconotros
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 176.54 176.538 58.682 1.867e-13 ***
## Residuals 347 1043.91 3.008
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(lm(acneCluster$Interactuarconpersonasquele~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Interactuarconpersonasquele
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 142.89 142.89 41.776 3.471e-10 ***
## Residuals 347 1186.91 3.42
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(lm(acneCluster$Granos~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Granos
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 0.08 0.07732 0.0483 0.8262
## Residuals 347 555.70 1.60144
anova(lm(acneCluster$Granosconpus~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Granosconpus
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 0.57 0.5703 0.2794 0.5974
## Residuals 347 708.19 2.0409
anova(lm(acneCluster$Grasosalapiel~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Grasosalapiel
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 0.553 0.55273 4.5557 0.03351 *
## Residuals 347 42.101 0.12133
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(lm(acneCluster$Costras~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Costras
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 2.48 2.4809 1.0966 0.2957
## Residuals 347 785.05 2.2624
anova(lm(acneCluster$Preocupadodetenercicatrices~acneCluster$Cluster, data = acneCluster))
## Analysis of Variance Table
##
## Response: acneCluster$Preocupadodetenercicatrices
## Df Sum Sq Mean Sq F value Pr(>F)
## acneCluster$Cluster 1 2.01 2.0105 0.5414 0.4624
## Residuals 347 1288.68 3.7138
Las variables Granos, Granosconpus y Grasosalapiel no alcanzaron valores estadísticamente significativos. En todas las demás variables, se identifica que al menos un grupo tiene diferencia signficativa en su promedio entre los clusters.