Análise de cluster: análise de classificação por similaridade.
- Objetos e propósitos da classificação
- Escalas: itens (nível 1) , fatores (níve 2). O propósito é organizar conceitualmente as dimensões psicológicas
- Usamos as pessoas (linhas) como informantes das similaridades das colunas (variáveis)
- Na avaliação psicológica estamos interessados nas pessoas. Como elas diferem entre si. Tipos de pessoas
- Pessoas (nível 3) Usamos escores nas escalas, ou os perfis (colunas) para agrupar pessoas por similaridade
Exercício de análise de cluster: abrindo banco de dados
setwd("~/Dropbox/R Stat/")
load("senna2.RData")
names(bd)
## [1] "ID" "SEXO"
## [3] "ano_esc" "IDADE"
## [5] "MÊS" "COR"
## [7] "MÃE" "AVÔ/Ó"
## [9] "PAI" "TIOS"
## [11] "IRMÃOS" "FILHOS"
## [13] "MEIO IRMAO" "OUTROS PARENTES"
## [15] "MADRASTA" "OUTROS N PARENTES"
## [17] "PADRASTO" "SOZINHO"
## [19] "QTD PESSOAS NA CASA" "N IRMÃO MAIS NOVO"
## [21] "N IRMAO MAIS VELHO" "N IRMAO MAIS VELHO MORA JUNTO"
## [23] "E. Mae" "CALÇAMENTO"
## [25] "ENERGIA" "ÁGUA"
## [27] "COLETA LIXO" "BOLSA FAMILIA"
## [29] "EMPREGADA" "CARRO"
## [31] "GELADEIRA" "LAVA ROUPA"
## [33] "PC" "MICROONDAS"
## [35] "TV" "QT TEMPO ATE ESCOLA"
## [37] "CRECHE" "PRÉ-ESCOLA"
## [39] "FUNDAMENT." "MÉDIO"
## [41] "REPROVADO" "LISTA EXER."
## [43] "MATERIAL APOIO" "FALTAS "
## [45] "PAI.1" "MÃE.1"
## [47] "IRMÃO" "SOZINHO.1"
## [49] "OUTRO LUGAR" "NÃO ESTUDO"
## [51] "NIVEL ESCOLARIDADE" "A_0"
## [53] "C_0" "E_0"
## [55] "N_0" "O_0"
## [57] "A_1" "C_1"
## [59] "E_1" "N_1"
## [61] "O_1" "A_Cmp_0"
## [63] "A_Mod_0" "A_Resp_0"
## [65] "A_Tru_0" "C_Achv_0"
## [67] "C_Conc_0" "C_Ord_0"
## [69] "C_SD_0" "C_SofR_0"
## [71] "E_Act_0" "E_Assr_0"
## [73] "E_Soc_0" "N_LAngrVol_0"
## [75] "N_LAnx_0" "N_LDep_0"
## [77] "O_Aes_0" "O_CrImg_0"
## [79] "O_IntCur_0" "OvCl_1"
## [81] "A_Cmp_1" "A_Mod_1"
## [83] "A_Resp_1" "A_Tru_1"
## [85] "C_Achv_1" "C_Conc_1"
## [87] "C_Ord_1" "C_SD_1"
## [89] "C_SofR_1" "E_Act_1"
## [91] "E_Assr_1" "E_Soc_1"
## [93] "N_LAngrVol_1" "N_LAnx_1"
## [95] "N_LDep_1" "O_Aes_1"
## [97] "O_CrImg_1" "O_IntCur_1"
## [99] "id" "p1_i001"
## [101] "p1_i002" "p1_i003"
## [103] "p1_i004" "p1_i005"
## [105] "p1_i006" "p1_i007"
## [107] "p1_i008" "ano_esc2"
Rodando a análise de cluster hierárquica
d <- dist(bd[ , 52:61], method="euclidean")
cluster <- hclust(d, method="ward.D2")
plot(cluster, hang = -1)
abline(h=4.3,lty=3,col="red")
rect.hclust(cluster, k=5, border="red")
grp4 <- cutree(cluster, k = 4)
grp4.3 <- cutree(cluster, h = 4.3)
table(grp4.3)
## grp4.3
## 1 2 3 4 5 6 7 8
## 18 9 6 12 7 4 7 4
table(grp4)
## grp4
## 1 2 3 4
## 22 28 13 4
Quantos clusters?
plot(cluster$height)
subs <- round(cluster$height - c(0, cluster$height[-length(cluster$height)]), 3)
Descrevendo os clusters
library(psych)
describeBy(bd[ , 52:61], group = grp4)
## group: 1
## vars n mean sd median trimmed mad min max range skew kurtosis
## A_0 1 22 4.09 0.41 4.21 4.10 0.34 3.33 4.91 1.58 -0.25 -0.80
## C_0 2 22 4.04 0.50 4.03 4.08 0.41 2.67 4.90 2.23 -0.70 0.67
## E_0 3 22 3.83 0.57 4.03 3.86 0.45 2.72 4.61 1.89 -0.60 -1.03
## N_0 4 22 3.24 0.51 3.31 3.27 0.55 2.29 3.95 1.67 -0.41 -1.09
## O_0 5 22 4.27 0.35 4.31 4.29 0.29 3.50 4.73 1.23 -0.66 -0.41
## A_1 6 22 3.84 0.47 3.92 3.86 0.56 3.00 4.50 1.50 -0.21 -1.38
## C_1 7 22 4.14 0.42 4.20 4.14 0.44 3.33 4.93 1.60 -0.01 -0.95
## E_1 8 22 3.94 0.59 4.11 3.99 0.41 2.78 4.78 2.00 -0.85 -0.64
## N_1 9 22 3.51 0.48 3.47 3.52 0.54 2.56 4.33 1.78 0.03 -0.93
## O_1 10 22 3.91 0.69 3.72 3.90 0.66 2.89 5.00 2.11 0.28 -1.43
## se
## A_0 0.09
## C_0 0.11
## E_0 0.12
## N_0 0.11
## O_0 0.07
## A_1 0.10
## C_1 0.09
## E_1 0.13
## N_1 0.10
## O_1 0.15
## --------------------------------------------------------
## group: 2
## vars n mean sd median trimmed mad min max range skew kurtosis
## A_0 1 28 3.65 0.49 3.71 3.69 0.37 2.12 4.46 2.33 -1.00 1.31
## C_0 2 28 3.39 0.52 3.41 3.39 0.44 2.00 4.53 2.53 -0.13 0.62
## E_0 3 28 3.56 0.58 3.39 3.57 0.45 2.33 4.67 2.33 0.09 -0.49
## N_0 4 28 3.19 0.45 3.20 3.21 0.50 2.05 3.90 1.86 -0.46 -0.07
## O_0 5 28 3.71 0.57 3.86 3.74 0.62 2.28 4.50 2.22 -0.56 -0.62
## A_1 6 28 3.35 0.50 3.42 3.37 0.43 1.92 4.33 2.42 -0.56 0.85
## C_1 7 28 3.24 0.47 3.27 3.25 0.40 1.73 4.27 2.53 -0.70 1.95
## E_1 8 28 3.30 0.45 3.33 3.32 0.33 2.11 4.44 2.33 -0.34 1.00
## N_1 9 28 3.20 0.63 3.22 3.16 0.49 2.22 4.89 2.67 0.58 0.04
## O_1 10 28 3.26 0.62 3.28 3.26 0.74 2.22 4.44 2.22 0.04 -1.15
## se
## A_0 0.09
## C_0 0.10
## E_0 0.11
## N_0 0.08
## O_0 0.11
## A_1 0.10
## C_1 0.09
## E_1 0.09
## N_1 0.12
## O_1 0.12
## --------------------------------------------------------
## group: 3
## vars n mean sd median trimmed mad min max range skew kurtosis
## A_0 1 13 3.39 0.57 3.25 3.35 0.56 2.67 4.67 2.00 0.75 -0.53
## C_0 2 13 2.86 0.57 2.67 2.80 0.40 2.13 4.30 2.17 1.03 0.43
## E_0 3 13 3.71 0.48 3.83 3.74 0.49 2.89 4.28 1.39 -0.45 -1.37
## N_0 4 13 2.30 0.53 2.24 2.27 0.56 1.57 3.29 1.71 0.38 -1.28
## O_0 5 13 3.50 0.45 3.56 3.55 0.41 2.38 4.06 1.68 -0.97 0.35
## A_1 6 13 3.12 0.52 3.00 3.04 0.25 2.50 4.58 2.08 1.49 2.26
## C_1 7 13 2.65 0.54 2.67 2.60 0.40 1.87 4.00 2.13 0.83 0.55
## E_1 8 13 3.14 0.61 3.22 3.16 0.33 1.89 4.11 2.22 -0.43 -0.58
## N_1 9 13 1.88 0.36 1.78 1.87 0.49 1.44 2.44 1.00 0.15 -1.66
## O_1 10 13 2.74 0.58 2.67 2.75 0.49 1.67 3.78 2.11 0.04 -0.96
## se
## A_0 0.16
## C_0 0.16
## E_0 0.13
## N_0 0.15
## O_0 0.13
## A_1 0.14
## C_1 0.15
## E_1 0.17
## N_1 0.10
## O_1 0.16
## --------------------------------------------------------
## group: 4
## vars n mean sd median trimmed mad min max range skew kurtosis
## A_0 1 4 3.97 0.33 3.88 3.97 0.22 3.71 4.42 0.71 0.45 -1.95
## C_0 2 4 4.18 0.48 4.41 4.18 0.06 3.47 4.46 0.99 -0.74 -1.69
## E_0 3 4 4.46 0.22 4.39 4.46 0.12 4.28 4.78 0.50 0.55 -1.84
## N_0 4 4 3.85 0.64 3.69 3.85 0.37 3.27 4.76 1.50 0.51 -1.81
## O_0 5 4 3.23 0.26 3.12 3.23 0.08 3.06 3.61 0.56 0.68 -1.74
## A_1 6 4 4.02 0.55 4.00 4.02 0.62 3.42 4.67 1.25 0.06 -2.14
## C_1 7 4 4.22 0.75 4.35 4.22 0.54 3.20 5.00 1.80 -0.35 -1.85
## E_1 8 4 4.61 0.29 4.56 4.61 0.25 4.33 5.00 0.67 0.32 -2.01
## N_1 9 4 4.28 0.63 4.28 4.28 0.74 3.56 5.00 1.44 0.00 -2.13
## O_1 10 4 2.94 0.67 2.94 2.94 0.82 2.22 3.67 1.44 0.00 -2.27
## se
## A_0 0.16
## C_0 0.24
## E_0 0.11
## N_0 0.32
## O_0 0.13
## A_1 0.28
## C_1 0.38
## E_1 0.15
## N_1 0.32
## O_1 0.33
plot(bd[,52:56], col=grp4, pch=19, cex=1)
source("http://www.labape.com.br/rprimi/R/cluster_fig.R")
cluster_fig(bd = bd[ , 52:56], grp = grp4)
##
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
##
## %+%, alpha
cluster_fig(bd = bd[ , 52:61], grp = grp4.3)