Carregando pacotes exigidos: ggplot2
Need help? Try the ggplot2 mailing list: http://groups.google.com/group/ggplot2.
Welcome! Related Books: `Practical Guide To Cluster Analysis in R` at https://goo.gl/13EFCZ

Attaching package: 㤼㸱psych㤼㸲

The following objects are masked from 㤼㸱package:ggplot2㤼㸲:

    %+%, alpha


---------------------
Welcome to dendextend version 1.8.0
Type citation('dendextend') for how to cite the package.

Type browseVignettes(package = 'dendextend') for the package vignette.
The github page is: https://github.com/talgalili/dendextend/

Suggestions and bug-reports can be submitted at: https://github.com/talgalili/dendextend/issues
Or contact: <tal.galili@gmail.com>

    To suppress this message use:  suppressPackageStartupMessages(library(dendextend))
---------------------


Attaching package: 㤼㸱dendextend㤼㸲

The following object is masked from 㤼㸱package:stats㤼㸲:

    cutree

corrplot 0.84 loaded

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
#library(devtools)
#session_info()
?daisy()
#artigo base para criar cluster com variáveis quali e quanti - Gower, J. C. (1971) A general coefficient of similarity and some of its properties, Biometrics 27, 857–874.
# dados qualificação
#dados<- read_excel("dados_tab.xlsx")
# dados defesa
dados<- read_excel("dadosroraima.xlsx")
dados <- dados[c(1:83),-1] #excluir coluna 1
# Excluir podutor 36 e 70
dados <- dados[-c(36,70),]
row.names(dados) <- (c(
                     "Produtor 1",                     "Produtor 2",
                     "Produtor 3",                     "Produtor 4",
                     "Produtor 5",                     "Produtor 6",
                     "Produtor 7",                     "Produtor 8",
                     "Produtor 9",                     "Produtor 10",
                     "Produtor 11",                     "Produtor 12",
                     "Produtor 13",                     "Produtor 14",
                     "Produtor 15",                     "Produtor 16",
                     "Produtor 17",                     "Produtor 18",
                     "Produtor 19",                     "Produtor 20",
                     "Produtor 21",                     "Produtor 22",
                     "Produtor 23",                     "Produtor 24",
                     "Produtor 25",                     "Produtor 26",
                     "Produtor 27",                     "Produtor 28",
                     "Produtor 29",                     "Produtor 30",
                     "Produtor 31",                     "Produtor 32",
                     "Produtor 33",                     "Produtor 34",
                     "Produtor 35",                     "Produtor 36",
                     "Produtor 37",                     "Produtor 38",
                     "Produtor 39",                     "Produtor 40",
                     "Produtor 41",                     "Produtor 42",
                     "Produtor 43",                     "Produtor 44",
                     "Produtor 45",                     "Produtor 46",
                     "Produtor 47",                     "Produtor 48",
                     "Produtor 49",                     "Produtor 50",
                     "Produtor 51",                     "Produtor 52",
                     "Produtor 53",                     "Produtor 54",
                     "Produtor 55",                     "Produtor 56",
                     "Produtor 57",                     "Produtor 58",
                     "Produtor 59",                     "Produtor 60",
                     "Produtor 61",                     "Produtor 62",
                     "Produtor 63",                     "Produtor 64",
                     "Produtor 65",                     "Produtor 66",
                     "Produtor 67",                     "Produtor 68",
                     "Produtor 69",                     "Produtor 70",
                     "Produtor 71",                     "Produtor 72",
                     "Produtor 73",                     "Produtor 74",
                     "Produtor 75",                     "Produtor 76",                     
                     "Produtor 77",                     "Produtor 78",
                     "Produtor 79",                     "Produtor 80",
                     "Produtor 81"))
Setting row names on a tibble is deprecated.
#View(dados6)
str(dados)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   81 obs. of  50 variables:
 $ 1.1 : num  1 1 1 1 1 1 1 1 1 1 ...
 $ 1.2 : num  2 1 1 1 2 2 1 1 1 1 ...
 $ 1.3 : num  2 2 2 2 2 2 2 2 2 2 ...
 $ 1.4 : num  17 10 33 8 6 8 25 22 23 22 ...
 $ 1.5 : num  52 374 55 60 60 64 60 60 60 60 ...
 $ 1.6 : num  25 38 18 25 17 24 20 18 21 30 ...
 $ 1.7 : num  16 9 8 13 8 6 10 10 12 11 ...
 $ 1.8 : num  60 35 35 35 30 50 55 30 45 20 ...
 $ 1.9 : num  1 1 1 1 1 1 2 1 2 1 ...
 $ 1.10: num  80 87 76 58 50 70 28 50 40 60 ...
 $ 2.1 : num  2 2 2 2 2 2 2 2 2 2 ...
 $ 2.2 : num  1 4 1 1 1 2 1 1 1 1 ...
 $ 2.3 : num  62 28 46 55 57 60 39 39 43 42 ...
 $ 3.11: num  1 1 1 1 1 3 1 1 1 1 ...
 $ 3.12: num  3 3 3 2 3 2 3 3 3 2 ...
 $ 3.13: num  4 4 4 1 4 2 4 4 4 2 ...
 $ 3.14: num  1 4 4 1 4 1 1 1 1 4 ...
 $ 3.15: num  3 4 4 3 4 3 3 3 3 4 ...
 $ 3.16: num  2 4 4 1 4 1 2 2 2 4 ...
 $ 3.2 : num  4 1 3 3 3 3 4 3 4 4 ...
 $ 3.21: num  1 1 1 1 1 1 1 1 1 1 ...
 $ 3.22: num  1 1 1 1 1 1 1 1 1 1 ...
 $ 3.23: num  1 1 1 2 1 1 1 1 1 1 ...
 $ 3.24: num  0 0 1 10 0 1 0 1 3 0 ...
 $ 3.31: num  1 1 1 1 1 1 2 1 1 1 ...
 $ 3.32: num  1 1 2 1 1 1 2 1 1 2 ...
 $ 3.33: num  2 1 1 1 2 1 1 1 2 1 ...
 $ 3.34: num  2 2 2 1 2 1 1 2 2 2 ...
 $ 3.35: num  3 1 1 1 3 1 1 1 3 2 ...
 $ 4.1 : num  4 4 3 4 4 1 4 3 4 4 ...
 $ 4.2 : num  2 2 2 2 2 2 2 1 2 2 ...
 $ 4.3 : num  1 2 1 2 2 1 2 1 1 2 ...
 $ 4.4 : num  1 2 1 2 2 2 2 2 2 2 ...
 $ 4.5 : num  1 2 2 2 2 2 2 1 2 1 ...
 $ 4.6 : num  1 1 1 1 1 1 1 1 1 1 ...
 $ 5.1 : num  1 1 1 1 1 1 1 1 1 1 ...
 $ 5.2 : num  2 2 2 2 2 2 3 2 3 3 ...
 $ 5.3 : num  3 3 3 3 3 3 3 3 3 3 ...
 $ 5.4 : num  1 1 1 1 1 2 1 1 1 1 ...
 $ 5.5 : num  1 4 1 4 4 1 4 2 4 4 ...
 $ 5.6 : num  2 2 2 2 2 2 2 2 2 2 ...
 $ 5.7 : num  3 1 4 1 3 1 1 1 1 4 ...
 $ 5.8 : num  2 3 2 3 2 3 2 2 2 2 ...
 $ 5.9 : num  2 2 2 2 2 2 2 2 3 2 ...
 $ 5.10: num  2 2 2 2 2 1 2 1 2 2 ...
 $ 5.11: num  1 1 1 1 1 1 2 1 2 1 ...
 $ 6.1 : num  2 1 3 3 2 3 3 2 2 3 ...
 $ 6.2 : num  2 2 2 2 2 2 2 2 2 2 ...
 $ 6.3 : num  1 1 1 1 1 1 1 1 1 1 ...
 $ 6.4 : num  1 2 3 3 1 3 3 2 2 3 ...
dados$`1.1`<-factor(dados$`1.1`, levels = c("1","2"), labels = c("Proprietário","Morador"))
dados$`1.2`<-factor(dados$`1.2`, levels = c("1","2"), labels = c("Leiteira","Leiteira e engorda"))
dados$`1.3`<-factor(dados$`1.3`, levels = c("1","2"), labels = c("Pavimentada", "Não_pavimentada"))
dados$`1.9`<-factor(dados$`1.9`, levels = c("1","2"), labels = c("Sim","Não"))
dados$`2.1`<-factor(dados$`2.1`, levels = c("1","2"), labels = c("Solteiro","Casado ou União estável"))
dados$`2.2`<-factor(dados$`2.2`, levels = c("1","2","3","4"), labels =c("Fundamental Incompleto","Fundamental completo","Ensino médio completo","Superior completo"), ordered = TRUE)
#dados$`2.5`<-factor(dados$`2.5`, levels = c("1","2"), labels = c("Sim","Não"))
dados$`3.2`<-factor(dados$`3.2`, levels = c("1","2","3","4"), labels =c("Holandesa","Outros","Girolanda","Vacas mestiças"))
dados$`3.11`<-factor(dados$`3.11`, levels = c("1","2","3","4"), labels =c("Braquiaria","Panicum","Cynodon","Outros"))
dados$`3.12`<-factor(dados$`3.12`, levels = c("1","2","3"), labels =c("Silagem","Cana de açúcar e/ou Capineira","Não fornece"))
dados$`3.13`<-factor(dados$`3.13`, levels = c("1","2","3","4"), labels =c("Ano todo","No período da seca","Aleatório","Não fornece"))
dados$`3.14`<-factor(dados$`3.14`, levels = c("1","2","3","4"), labels =c("Vacas em lactação","Vacas em lactação e secas","Todo rebanho","Não fornece"))
dados$`3.15`<-factor(dados$`3.15`, levels = c("1","2","3","4"), labels =c("Cálculo técnico","Produtividade","Sem critério","Não fornece"))
dados$`3.16`<-factor(dados$`3.16`, levels = c("1","2","3","4"), labels =c("Ano todo","Na seca","Aleatório","Não fornece"))
#dados$`3.17`<-factor(dados$`3.17`, levels = c("1","2","3"), labels =c("Sal mineral","Sal comum","Não fornece"))
#dados$`3.18`<-factor(dados$`3.18`, levels = c("1","2","3","4"), labels =c("Semanal","Quinzenal","Mensal","Não fornece"), ordered = TRUE)
#dados$`3.19`<-factor(dados$`3.19`, levels = c("1","2","3"), labels =c("Boa","Ruim","Não sabe"))
dados$`3.21`<-factor(dados$`3.21`, levels = c("1","2","3"), labels =c("Produtor","Orgão governamentais","Terceirizado"))
dados$`3.22`<-factor(dados$`3.22`, levels = c("1","2"), labels = c("Sim","Não"))
dados$`3.23`<-factor(dados$`3.23`, levels = c("1","2"), labels = c("Sim","Não"))
dados$`3.31`<-factor(dados$`3.31`, levels = c("1","2","3","4"), labels =c("Monta natural","Monta controlada","Inseminação artificial","Ambas"))
dados$`3.32`<-factor(dados$`3.32`, levels = c("1","2"), labels = c("Sim","Não"))
dados$`3.33`<-factor(dados$`3.33`, levels = c("1","2"), labels = c("Sim","Não"))
dados$`3.34`<-factor(dados$`3.34`, levels = c("1","2"), labels = c("Sim","Não"))
dados$`3.35`<-factor(dados$`3.35`, levels = c("1","2","3"), labels =c("Entre 11 e 13 meses","Entre 14 e 17 meses","Não sabem"))
dados$`4.1`<-factor(dados$`4.1`, levels = c("1","2","3","4"), labels =c("Total","Parcial","Já ouvi, mas não conheço","Desconheço"), ordered = TRUE)
dados$`4.2`<-factor(dados$`4.2`, levels = c("1","2"), labels = c("Sim","Não"))
dados$`4.3`<-factor(dados$`4.3`, levels = c("1","2"), labels = c("Sim","Não"))
dados$`4.4`<-factor(dados$`4.4`, levels = c("1","2"), labels = c("Sim","Não"))
dados$`4.5`<-factor(dados$`4.5`, levels = c("1","2"), labels = c("Sim","Não"))
dados$`4.6`<-factor(dados$`4.6`, levels = c("1","2"), labels = c("Sim","Não"))
dados$`5.1`<-factor(dados$`5.1`, levels = c("1","2"), labels =c("Manual","Mecânica"))
dados$`5.2`<-factor(dados$`5.2`, levels = c("1","2","3"), labels =c("Coberto e cimentado","Coberto e terra batida","Descoberto e terra batida"), ordered = TRUE)
dados$`5.3`<-factor(dados$`5.3`, levels = c("1","2","3"), labels =c("Tanque comunitário","Tanque próprio","Não tem"))
dados$`5.4`<-factor(dados$`5.4`, levels = c("1","2"), labels =c("1 vez ao dia","2 vezes ao dia"))
dados$`5.5`<-factor(dados$`5.5`, levels = c("1","2","3","4"), labels =c("Diário","Esporádico (as vezes)","Raramente (já fez)","Não realiza"))
dados$`5.6`<-factor(dados$`5.6`, levels = c("1","2"), labels =c("Realiza","Não realiza"), ordered = TRUE)
dados$`5.7`<-factor(dados$`5.7`, levels = c("1","2","3","4"), labels =c("Lavagem com água","Pré dipping","Pano único","Não realiza"))
dados$`5.8`<-factor(dados$`5.8`, levels = c("1","2","3"), labels =c("Pós dipping","Bezerro junto com  a vaca","Não aplica"))
dados$`5.9`<-factor(dados$`5.9`, levels = c("1","2","3"), labels =c("Alimentação das vacas","Libera para a pastagem","Não aplica"))
dados$`5.10`<-factor(dados$`5.10`, levels = c("1","2","3"), labels =c("Detergente e sanitizante","Detergente","Somente água"))
dados$`5.11`<-factor(dados$`5.11`, levels = c("1","2"), labels = c("Sim","Não"))
dados$`6.1`<-factor(dados$`6.1`, levels = c("1","2","3"), labels =c("Laticínios ou Queijarias","Atravessador ou Venda direta","Produção própria"))
dados$`6.2`<-factor(dados$`6.2`, levels = c("1","2"), labels = c("Sim","Não"))
dados$`6.3`<-factor(dados$`6.3`, levels = c("1","2","3","4"), labels =c("Diário","Dois dias","Três dias","Não tem rotina"))
dados$`6.4`<-factor(dados$`6.4`, levels = c("1","2","3"), labels =c("Diário","Período definido","Aleatório"))
#somente qualitativos
#dados_quali <- dados[,c('1.1','1.2','1.3','1.9','2.1','2.2','3.2','3.11','3.12','3.13','3.14','3.15','3.16','3.21','3.22','3.23','3.31','3.32','3.33','3.34','3.35','4.1','4.2','4.3','4.4','4.5','4.6','5.1','5.2','5.3','5.4','5.5','5.6','5.7','5.8','5.9','5.10','5.11','6.1','6.2','6.3','6.4')]
#somente quantitativos
#dados_quanti <-  dados[,c('1.4','1.5','1.6','1.7','1.8','1.10','2.3','3.24')]
#str(dados)
#  escolher o que vai empregar
#dados=dados_quanti
#dados = dados_quali
dados=dados

Descrição

glimpse(dados)
Observations: 81
Variables: 50
$ `1.1`  <fct> Proprietário, Proprietário, Proprietário, Proprietário, Proprietário, Proprietário, Proprietário, Prop...
$ `1.2`  <fct> Leiteira e engorda, Leiteira, Leiteira, Leiteira, Leiteira e engorda, Leiteira e engorda, Leiteira, Le...
$ `1.3`  <fct> Não_pavimentada, Não_pavimentada, Não_pavimentada, Não_pavimentada, Não_pavimentada, Não_pavimentada, ...
$ `1.4`  <dbl> 17, 10, 33, 8, 6, 8, 25, 22, 23, 22, 17, 23, 21, 21, 21, 20, 18, 17, 33, 17, 16, 15, 23, 23, 8, 12, 15...
$ `1.5`  <dbl> 52, 374, 55, 60, 60, 64, 60, 60, 60, 60, 164, 176, 51, 105, 60, 120, 60, 300, 60, 750, 100, 100, 240, ...
$ `1.6`  <dbl> 25, 38, 18, 25, 17, 24, 20, 18, 21, 30, 61, 60, 10, 27, 16, 60, 11, 60, 50, 49, 38, 25, 90, 24, 15, 20...
$ `1.7`  <dbl> 16, 9, 8, 13, 8, 6, 10, 10, 12, 11, 13, 18, 5, 12, 7, 30, 4, 17, 10, 19, 12, 8, 35, 8, 5, 55, 74, 22, ...
$ `1.8`  <dbl> 60, 35, 35, 35, 30, 50, 55, 30, 45, 20, 40, 60, 30, 60, 25, 110, 12, 135, 50, 65, 40, 18, 180, 35, 50,...
$ `1.9`  <fct> Sim, Sim, Sim, Sim, Sim, Sim, Não, Sim, Não, Sim, Sim, Sim, Sim, Sim, Não, Não, Sim, Sim, Não, Sim, Nã...
$ `1.10` <dbl> 80, 87, 76, 58, 50, 70, 28, 50, 40, 60, 260, 214, 27, 70, 45, 80, 32, 350, 82, 140, 75, 54, 190, 75, 3...
$ `2.1`  <fct> Casado ou União estável, Casado ou União estável, Casado ou União estável, Casado ou União estável, Ca...
$ `2.2`  <ord> Fundamental Incompleto, Superior completo, Fundamental Incompleto, Fundamental Incompleto, Fundamental...
$ `2.3`  <dbl> 62, 28, 46, 55, 57, 60, 39, 39, 43, 42, 52, 58, 52, 56, 53, 53, 55, 63, 52, 58, 72, 58, 48, 29, 48, 58...
$ `3.11` <fct> Braquiaria, Braquiaria, Braquiaria, Braquiaria, Braquiaria, Cynodon, Braquiaria, Braquiaria, Braquiari...
$ `3.12` <fct> Não fornece, Não fornece, Não fornece, Cana de açúcar e/ou Capineira, Não fornece, Cana de açúcar e/ou...
$ `3.13` <fct> Não fornece, Não fornece, Não fornece, Ano todo, Não fornece, No período da seca, Não fornece, Não for...
$ `3.14` <fct> Vacas em lactação, Não fornece, Não fornece, Vacas em lactação, Não fornece, Vacas em lactação, Vacas ...
$ `3.15` <fct> Sem critério, Não fornece, Não fornece, Sem critério, Não fornece, Sem critério, Sem critério, Sem cri...
$ `3.16` <fct> Na seca, Não fornece, Não fornece, Ano todo, Não fornece, Ano todo, Na seca, Na seca, Na seca, Não for...
$ `3.2`  <fct> Vacas mestiças, Holandesa, Girolanda, Girolanda, Girolanda, Girolanda, Vacas mestiças, Girolanda, Vaca...
$ `3.21` <fct> Produtor, Produtor, Produtor, Produtor, Produtor, Produtor, Produtor, Produtor, Produtor, Produtor, Pr...
$ `3.22` <fct> Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Nã...
$ `3.23` <fct> Sim, Sim, Sim, Não, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Nã...
$ `3.24` <dbl> 0, 0, 1, 10, 0, 1, 0, 1, 3, 0, 0, 0, 1, 2, 0, 3, 1, 0, 1, 3, 0, 0, 0, 2, 0, 10, 0, 6, 10, 2, 5, 1, 3, ...
$ `3.31` <fct> Monta natural, Monta natural, Monta natural, Monta natural, Monta natural, Monta natural, Monta contro...
$ `3.32` <fct> Sim, Sim, Não, Sim, Sim, Sim, Não, Sim, Sim, Não, Sim, Sim, Sim, Sim, Sim, Sim, Não, Sim, Sim, Não, Nã...
$ `3.33` <fct> Não, Sim, Sim, Sim, Não, Sim, Sim, Sim, Não, Sim, Sim, Não, Sim, Sim, Não, Não, Sim, Não, Sim, Não, Nã...
$ `3.34` <fct> Não, Não, Não, Sim, Não, Sim, Sim, Não, Não, Não, Não, Não, Sim, Sim, Não, Sim, Sim, Sim, Sim, Não, Nã...
$ `3.35` <fct> Não sabem, Entre 11 e 13 meses, Entre 11 e 13 meses, Entre 11 e 13 meses, Não sabem, Entre 11 e 13 mes...
$ `4.1`  <ord> Desconheço, Desconheço, Já ouvi, mas não conheço, Desconheço, Desconheço, Total, Desconheço, Já ouvi, ...
$ `4.2`  <fct> Não, Não, Não, Não, Não, Não, Não, Sim, Não, Não, Não, Não, Não, Não, Sim, Sim, Não, Não, Não, Não, Nã...
$ `4.3`  <fct> Sim, Não, Sim, Não, Não, Sim, Não, Sim, Sim, Não, Sim, Não, Não, Sim, Sim, Sim, Não, Sim, Sim, Não, Si...
$ `4.4`  <fct> Sim, Não, Sim, Não, Não, Não, Não, Não, Não, Não, Sim, Não, Sim, Sim, Não, Sim, Não, Não, Não, Não, Nã...
$ `4.5`  <fct> Sim, Não, Não, Não, Não, Não, Não, Sim, Não, Sim, Sim, Não, Sim, Sim, Sim, Não, Não, Não, Sim, Não, Nã...
$ `4.6`  <fct> Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Sim, Si...
$ `5.1`  <fct> Manual, Manual, Manual, Manual, Manual, Manual, Manual, Manual, Manual, Manual, Manual, Manual, Manual...
$ `5.2`  <ord> Coberto e terra batida, Coberto e terra batida, Coberto e terra batida, Coberto e terra batida, Cobert...
$ `5.3`  <fct> Não tem, Não tem, Não tem, Não tem, Não tem, Não tem, Não tem, Não tem, Não tem, Não tem, Não tem, Não...
$ `5.4`  <fct> 1 vez ao dia, 1 vez ao dia, 1 vez ao dia, 1 vez ao dia, 1 vez ao dia, 2 vezes ao dia, 1 vez ao dia, 1 ...
$ `5.5`  <fct> Diário, Não realiza, Diário, Não realiza, Não realiza, Diário, Não realiza, Esporádico (as vezes), Não...
$ `5.6`  <ord> Não realiza, Não realiza, Não realiza, Não realiza, Não realiza, Não realiza, Não realiza, Não realiza...
$ `5.7`  <fct> Pano único, Lavagem com água, Não realiza, Lavagem com água, Pano único, Lavagem com água, Lavagem com...
$ `5.8`  <fct> Bezerro junto com  a vaca, Não aplica, Bezerro junto com  a vaca, Não aplica, Bezerro junto com  a vac...
$ `5.9`  <fct> Libera para a pastagem, Libera para a pastagem, Libera para a pastagem, Libera para a pastagem, Libera...
$ `5.10` <fct> Detergente, Detergente, Detergente, Detergente, Detergente, Detergente e sanitizante, Detergente, Dete...
$ `5.11` <fct> Sim, Sim, Sim, Sim, Sim, Sim, Não, Sim, Não, Sim, Sim, Não, Sim, Sim, Não, Sim, Não, Não, Sim, Não, Nã...
$ `6.1`  <fct> Atravessador ou Venda direta, Laticínios ou Queijarias, Produção própria, Produção própria, Atravessad...
$ `6.2`  <fct> Não, Não, Não, Não, Não, Não, Não, Não, Não, Não, Não, Não, Não, Não, Não, Não, Não, Não, Não, Não, Nã...
$ `6.3`  <fct> Diário, Diário, Diário, Diário, Diário, Diário, Diário, Diário, Diário, Diário, Diário, Diário, Diário...
$ `6.4`  <fct> Diário, Período definido, Aleatório, Aleatório, Diário, Aleatório, Aleatório, Período definido, Períod...
dados 
stats4::summary(dados)
           1.1                     1.2                  1.3          1.4              1.5             1.6        
 Proprietário:71   Leiteira          :42   Pavimentada    :18   Min.   :  1.00   Min.   : 51.0   Min.   :  4.00  
 Morador     :10   Leiteira e engorda:39   Não_pavimentada:63   1st Qu.: 10.00   1st Qu.: 60.0   1st Qu.: 20.00  
                                                                Median : 17.00   Median :117.0   Median : 28.00  
                                                                Mean   : 25.38   Mean   :159.6   Mean   : 37.86  
                                                                3rd Qu.: 33.00   3rd Qu.:200.0   3rd Qu.: 49.00  
                                                                Max.   :146.00   Max.   :750.0   Max.   :200.00  
      1.7             1.8          1.9          1.10                            2.1                         2.2    
 Min.   : 2.00   Min.   :  6.00   Sim:58   Min.   : 10.0   Solteiro               : 4   Fundamental Incompleto:46  
 1st Qu.: 8.00   1st Qu.: 30.00   Não:23   1st Qu.: 54.0   Casado ou União estável:77   Fundamental completo  :14  
 Median :12.00   Median : 50.00            Median : 80.0                                Ensino médio completo :19  
 Mean   :14.85   Mean   : 63.28            Mean   :112.7                                Superior completo     : 2  
 3rd Qu.:17.00   3rd Qu.: 70.00            3rd Qu.:140.0                                                           
 Max.   :74.00   Max.   :350.00            Max.   :600.0                                                           
      2.3                3.11                               3.12                    3.13   
 Min.   :23.00   Braquiaria:69   Silagem                      : 0   Ano todo          : 3  
 1st Qu.:43.00   Panicum   : 1   Cana de açúcar e/ou Capineira:10   No período da seca: 4  
 Median :52.00   Cynodon   :11   Não fornece                  :71   Aleatório         : 3  
 Mean   :50.15   Outros    : 0                                      Não fornece       :71  
 3rd Qu.:58.00                                                                             
 Max.   :75.00                                                                             
                        3.14                 3.15             3.16                3.2                       3.21   
 Vacas em lactação        :17   Cálculo técnico: 0   Ano todo   : 8   Holandesa     : 8   Produtor            :74  
 Vacas em lactação e secas: 0   Produtividade  : 0   Na seca    : 7   Outros        : 3   Orgão governamentais: 3  
 Todo rebanho             : 0   Sem critério   :17   Aleatório  : 2   Girolanda     :50   Terceirizado        : 4  
 Não fornece              :64   Não fornece    :64   Não fornece:64   Vacas mestiças:20                            
                                                                                                                   
                                                                                                                   
  3.22     3.23         3.24                            3.31     3.32     3.33     3.34                     3.35   
 Sim:80   Sim:77   Min.   : 0.000   Monta natural         :75   Sim:61   Sim:45   Sim:30   Entre 11 e 13 meses:34  
 Não: 1   Não: 4   1st Qu.: 0.000   Monta controlada      : 2   Não:20   Não:36   Não:51   Entre 14 e 17 meses:12  
                   Median : 1.000   Inseminação artificial: 3                              Não sabem          :35  
                   Mean   : 1.568   Ambas                 : 1                                                      
                   3rd Qu.: 2.000                                                                                  
                   Max.   :10.000                                                                                  
                       4.1      4.2      4.3      4.4      4.5      4.6           5.1                            5.2    
 Total                   : 4   Sim: 6   Sim:35   Sim:10   Sim:17   Sim:79   Manual  :79   Coberto e cimentado      : 6  
 Parcial                 : 3   Não:75   Não:46   Não:71   Não:64   Não: 2   Mecânica: 2   Coberto e terra batida   :59  
 Já ouvi, mas não conheço:22                                                              Descoberto e terra batida:16  
 Desconheço              :52                                                                                            
                                                                                                                        
                                                                                                                        
                 5.3                 5.4                        5.5              5.6                   5.7    
 Tanque comunitário: 9   1 vez ao dia  :80   Diário               : 7   Realiza    : 0   Lavagem com água:34  
 Tanque próprio    : 1   2 vezes ao dia: 1   Esporádico (as vezes):13   Não realiza:81   Pré dipping     : 2  
 Não tem           :71                       Raramente (já fez)   : 5                    Pano único      :15  
                                             Não realiza          :56                    Não realiza     :30  
                                                                                                              
                                                                                                              
                        5.8                         5.9                           5.10     5.11   
 Pós dipping              : 3   Alimentação das vacas : 0   Detergente e sanitizante:24   Sim:59  
 Bezerro junto com  a vaca:66   Libera para a pastagem:77   Detergente              :54   Não:22  
 Não aplica               :12   Não aplica            : 4   Somente água            : 3           
                                                                                                  
                                                                                                  
                                                                                                  
                           6.1      6.2                 6.3                   6.4    
 Laticínios ou Queijarias    :21   Sim: 0   Diário        :63   Diário          :13  
 Atravessador ou Venda direta:20   Não:81   Dois dias     : 1   Período definido:23  
 Produção própria            :40            Três dias     :10   Aleatório       :45  
                                            Não tem rotina: 7                        
                                                                                     
                                                                                     
gower_dist <- daisy(dados, metric = "gower")
# Check attributes to ensure the correct methods are being used
# (I = interval',' N = nominal)
summary(gower_dist)
3240 dissimilarities, summarized :
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
0.07425 0.23038 0.27901 0.28124 0.32642 0.58776 
Metric :  mixed ;  Types = N, N, N, I, I, I, I, I, N, I, N, O, I, N, N, N, N, N, N, N, N, N, N, I, N, N, N, N, N, O, N, N, N, N, N, N, O, N, N, N, O, N, N, N, N, N, N, N, N, N 
Number of objects : 81

verificar a mais similar e mais dissimilar

gower_mat <- as.matrix(gower_dist)
# Output most similar pair
dados[
  which(gower_mat == min(gower_mat[gower_mat != min(gower_mat)]),
        arr.ind = TRUE)[1, ], ]
dados[
  which(gower_mat == max(gower_mat[gower_mat != max(gower_mat)]),
        arr.ind = TRUE)[1, ], ]

ASSESSING CLUSTERING TENDENCY

fviz_dist(gower_dist, show_labels = FALSE)+ labs(title = "")

#The algorithm of the visual assessment of cluster tendency (VAT) approach (Bezdek and Hathaway, 2002) is as follow:
#The algorithm of VAT is as follow: 
# 1. Compute the dissimilarity (DM) matrix between the objects in the data set using the Euclidean distance measure (3)
# 2. Reorder the DM so that similar objects are close to one another. This process create an ordered dissimilarity matrix (ODM)
# 3. The ODM is displayed as an ordered dissimilarity image (ODI), which is the visual output of VAT
#The color level is proportional to the value of the dissimilarity between observations: pure red if dist(xi, xj) = 0 and pure blue if dist(xi, xj) = 1. Objects belonging to the same cluster are displayed in consecutive order.
#The dissimilarity matrix image confirms that there is a cluster structure in the  data.

algoritmo não hierárquico PAM

# Calculate silhouette width for many k using PAM
#gower_dist - matriz com as distâncias
sil_width <- c(NA)
for(i in 2:25){
  pam_fit <- pam(gower_dist,
                 diss = TRUE,
                 k = i)
  sil_width[i] <- pam_fit$silinfo$avg.width
}
# Plot sihouette width (higher is better)
plot(1:25, sil_width,
     xlab = "Number of clusters",
     ylab = "Silhouette Width")
lines(1:25, sil_width)

library(fpc)
pamk(gower_dist, diss=T,krange=2:25,criterion="asw", usepam=TRUE)
$`pamobject`
Medoids:
     ID                
[1,] "5"  "Produtor 5" 
[2,] "70" "Produtor 70"
Clustering vector:
 Produtor 1  Produtor 2  Produtor 3  Produtor 4  Produtor 5  Produtor 6  Produtor 7  Produtor 8  Produtor 9 Produtor 10 
          1           2           2           2           1           2           2           2           1           2 
Produtor 11 Produtor 12 Produtor 13 Produtor 14 Produtor 15 Produtor 16 Produtor 17 Produtor 18 Produtor 19 Produtor 20 
          2           1           2           2           1           2           2           1           2           1 
Produtor 21 Produtor 22 Produtor 23 Produtor 24 Produtor 25 Produtor 26 Produtor 27 Produtor 28 Produtor 29 Produtor 30 
          1           1           2           2           1           2           2           2           2           2 
Produtor 31 Produtor 32 Produtor 33 Produtor 34 Produtor 35 Produtor 36 Produtor 37 Produtor 38 Produtor 39 Produtor 40 
          1           1           1           1           1           1           2           1           2           2 
Produtor 41 Produtor 42 Produtor 43 Produtor 44 Produtor 45 Produtor 46 Produtor 47 Produtor 48 Produtor 49 Produtor 50 
          1           1           2           2           1           2           1           1           2           2 
Produtor 51 Produtor 52 Produtor 53 Produtor 54 Produtor 55 Produtor 56 Produtor 57 Produtor 58 Produtor 59 Produtor 60 
          1           1           1           2           2           1           1           1           1           1 
Produtor 61 Produtor 62 Produtor 63 Produtor 64 Produtor 65 Produtor 66 Produtor 67 Produtor 68 Produtor 69 Produtor 70 
          2           2           1           2           1           2           1           1           2           2 
Produtor 71 Produtor 72 Produtor 73 Produtor 74 Produtor 75 Produtor 76 Produtor 77 Produtor 78 Produtor 79 Produtor 80 
          2           1           1           1           1           1           1           1           1           1 
Produtor 81 
          1 
Objective function:
    build      swap 
0.1911888 0.1911888 

Available components:
[1] "medoids"    "id.med"     "clustering" "objective"  "isolation"  "clusinfo"   "silinfo"    "diss"       "call"      

$nc
[1] 2

$crit
 [1] 0.00000000 0.11900449 0.11653174 0.10196695 0.11192659 0.09191630 0.10543715 0.09923156 0.08491905 0.08518115
[11] 0.08646171 0.09120120 0.09366916 0.08825771 0.08073716 0.08511669 0.08615021 0.09554158 0.09341290 0.09194773
[21] 0.09332307 0.08312662 0.07668115 0.06324478 0.06488728
k=2
pam_fit <- pam(gower_dist, diss = TRUE, k)
dados[pam_fit$medoids, ]
print(pam_fit)
Medoids:
     ID                
[1,] "5"  "Produtor 5" 
[2,] "70" "Produtor 70"
Clustering vector:
 Produtor 1  Produtor 2  Produtor 3  Produtor 4  Produtor 5  Produtor 6  Produtor 7  Produtor 8  Produtor 9 Produtor 10 
          1           2           2           2           1           2           2           2           1           2 
Produtor 11 Produtor 12 Produtor 13 Produtor 14 Produtor 15 Produtor 16 Produtor 17 Produtor 18 Produtor 19 Produtor 20 
          2           1           2           2           1           2           2           1           2           1 
Produtor 21 Produtor 22 Produtor 23 Produtor 24 Produtor 25 Produtor 26 Produtor 27 Produtor 28 Produtor 29 Produtor 30 
          1           1           2           2           1           2           2           2           2           2 
Produtor 31 Produtor 32 Produtor 33 Produtor 34 Produtor 35 Produtor 36 Produtor 37 Produtor 38 Produtor 39 Produtor 40 
          1           1           1           1           1           1           2           1           2           2 
Produtor 41 Produtor 42 Produtor 43 Produtor 44 Produtor 45 Produtor 46 Produtor 47 Produtor 48 Produtor 49 Produtor 50 
          1           1           2           2           1           2           1           1           2           2 
Produtor 51 Produtor 52 Produtor 53 Produtor 54 Produtor 55 Produtor 56 Produtor 57 Produtor 58 Produtor 59 Produtor 60 
          1           1           1           2           2           1           1           1           1           1 
Produtor 61 Produtor 62 Produtor 63 Produtor 64 Produtor 65 Produtor 66 Produtor 67 Produtor 68 Produtor 69 Produtor 70 
          2           2           1           2           1           2           1           1           2           2 
Produtor 71 Produtor 72 Produtor 73 Produtor 74 Produtor 75 Produtor 76 Produtor 77 Produtor 78 Produtor 79 Produtor 80 
          2           1           1           1           1           1           1           1           1           1 
Produtor 81 
          1 
Objective function:
    build      swap 
0.1911888 0.1911888 

Available components:
[1] "medoids"    "id.med"     "clustering" "objective"  "isolation"  "clusinfo"   "silinfo"    "diss"       "call"      
grp = pam_fit$clustering
#  como fazer com as dist?  só lançar data como matriz de distâncias
fviz_cluster(list(data = gower_dist, cluster = grp),
#palette = c("orange", "green","red","brown", "blue"),
ellipse.type = "confidence", # Concentration ellipse
repel = TRUE, # Avoid label overplotting (slow)
show.clust.cent = T, ggtheme = theme_minimal())

Descrição dos grupos pelo PAM

pam_results <- dados %>%
  dplyr::mutate(cluster = pam_fit$clustering) %>%
  group_by(cluster) %>%
  do(the_summary = summary(.))
pam_results$the_summary
[[1]]
           1.1                     1.2                  1.3          1.4              1.5             1.6        
 Proprietário:35   Leiteira          :18   Pavimentada    :12   Min.   :  1.00   Min.   : 52.0   Min.   :  4.00  
 Morador     : 9   Leiteira e engorda:26   Não_pavimentada:32   1st Qu.:  6.75   1st Qu.: 61.5   1st Qu.: 17.75  
                                                                Median : 15.50   Median :100.0   Median : 25.00  
                                                                Mean   : 22.05   Mean   :141.6   Mean   : 30.82  
                                                                3rd Qu.: 26.00   3rd Qu.:180.0   3rd Qu.: 41.25  
                                                                Max.   :146.00   Max.   :750.0   Max.   :100.00  
      1.7             1.8          1.9          1.10                             2.1                         2.2    
 Min.   : 2.00   Min.   :  6.00   Sim:32   Min.   : 10.00   Solteiro               : 1   Fundamental Incompleto:27  
 1st Qu.: 8.00   1st Qu.: 30.00   Não:12   1st Qu.: 50.00   Casado ou União estável:43   Fundamental completo  : 6  
 Median :11.00   Median : 40.00            Median : 72.50                                Ensino médio completo :10  
 Mean   :12.52   Mean   : 52.07            Mean   : 94.07                                Superior completo     : 1  
 3rd Qu.:15.25   3rd Qu.: 60.00            3rd Qu.:102.50                                                           
 Max.   :30.00   Max.   :180.00            Max.   :350.00                                                           
      2.3                3.11                               3.12                    3.13   
 Min.   :23.00   Braquiaria:39   Silagem                      : 0   Ano todo          : 1  
 1st Qu.:44.50   Panicum   : 1   Cana de açúcar e/ou Capineira: 3   No período da seca: 0  
 Median :52.50   Cynodon   : 4   Não fornece                  :41   Aleatório         : 2  
 Mean   :51.27   Outros    : 0                                      Não fornece       :41  
 3rd Qu.:61.00                                                                             
 Max.   :75.00                                                                             
                        3.14                 3.15             3.16                3.2                       3.21   
 Vacas em lactação        : 6   Cálculo técnico: 0   Ano todo   : 2   Holandesa     : 4   Produtor            :41  
 Vacas em lactação e secas: 0   Produtividade  : 0   Na seca    : 2   Outros        : 3   Orgão governamentais: 2  
 Todo rebanho             : 0   Sem critério   : 6   Aleatório  : 2   Girolanda     :24   Terceirizado        : 1  
 Não fornece              :38   Não fornece    :38   Não fornece:38   Vacas mestiças:13                            
                                                                                                                   
                                                                                                                   
  3.22     3.23         3.24                           3.31     3.32     3.33     3.34                     3.35   
 Sim:43   Sim:41   Min.   :0.000   Monta natural         :43   Sim:29   Sim:11   Sim: 7   Entre 11 e 13 meses: 9  
 Não: 1   Não: 3   1st Qu.:0.000   Monta controlada      : 0   Não:15   Não:33   Não:37   Entre 14 e 17 meses: 3  
                   Median :0.000   Inseminação artificial: 1                              Não sabem          :32  
                   Mean   :1.045   Ambas                 : 0                                                      
                   3rd Qu.:2.000                                                                                  
                   Max.   :6.000                                                                                  
                       4.1      4.2      4.3      4.4      4.5      4.6           5.1                            5.2    
 Total                   : 0   Sim: 2   Sim:11   Sim: 3   Sim: 9   Sim:42   Manual  :43   Coberto e cimentado      : 3  
 Parcial                 : 1   Não:42   Não:33   Não:41   Não:35   Não: 2   Mecânica: 1   Coberto e terra batida   :32  
 Já ouvi, mas não conheço:10                                                              Descoberto e terra batida: 9  
 Desconheço              :33                                                                                            
                                                                                                                        
                                                                                                                        
                 5.3                 5.4                        5.5              5.6                   5.7    
 Tanque comunitário: 6   1 vez ao dia  :44   Diário               : 2   Realiza    : 0   Lavagem com água:15  
 Tanque próprio    : 0   2 vezes ao dia: 0   Esporádico (as vezes): 5   Não realiza:44   Pré dipping     : 0  
 Não tem           :38                       Raramente (já fez)   : 4                    Pano único      : 7  
                                             Não realiza          :33                    Não realiza     :22  
                                                                                                              
                                                                                                              
                        5.8                         5.9                           5.10     5.11   
 Pós dipping              : 0   Alimentação das vacas : 0   Detergente e sanitizante: 9   Sim:27  
 Bezerro junto com  a vaca:40   Libera para a pastagem:40   Detergente              :33   Não:17  
 Não aplica               : 4   Não aplica            : 4   Somente água            : 2           
                                                                                                  
                                                                                                  
                                                                                                  
                           6.1      6.2                 6.3                   6.4        cluster 
 Laticínios ou Queijarias    :13   Sim: 0   Diário        :31   Diário          :13   Min.   :1  
 Atravessador ou Venda direta:19   Não:44   Dois dias     : 1   Período definido:14   1st Qu.:1  
 Produção própria            :12            Três dias     : 7   Aleatório       :17   Median :1  
                                            Não tem rotina: 5                         Mean   :1  
                                                                                      3rd Qu.:1  
                                                                                      Max.   :1  

[[2]]
           1.1                     1.2                  1.3          1.4              1.5           1.6        
 Proprietário:36   Leiteira          :24   Pavimentada    : 6   Min.   :  3.00   Min.   : 51   Min.   : 10.00  
 Morador     : 1   Leiteira e engorda:13   Não_pavimentada:31   1st Qu.: 15.00   1st Qu.: 60   1st Qu.: 24.00  
                                                                Median : 22.00   Median :129   Median : 30.00  
                                                                Mean   : 29.35   Mean   :181   Mean   : 46.24  
                                                                3rd Qu.: 33.00   3rd Qu.:240   3rd Qu.: 60.00  
                                                                Max.   :130.00   Max.   :720   Max.   :200.00  
      1.7             1.8          1.9          1.10                            2.1                         2.2    
 Min.   : 3.00   Min.   : 12.00   Sim:26   Min.   : 27.0   Solteiro               : 3   Fundamental Incompleto:19  
 1st Qu.:10.00   1st Qu.: 35.00   Não:11   1st Qu.: 70.0   Casado ou União estável:34   Fundamental completo  : 8  
 Median :13.00   Median : 50.00            Median : 80.0                                Ensino médio completo : 9  
 Mean   :17.62   Mean   : 76.62            Mean   :134.8                                Superior completo     : 1  
 3rd Qu.:22.00   3rd Qu.:100.00            3rd Qu.:150.0                                                           
 Max.   :74.00   Max.   :350.00            Max.   :600.0                                                           
      2.3                3.11                               3.12                    3.13   
 Min.   :28.00   Braquiaria:30   Silagem                      : 0   Ano todo          : 2  
 1st Qu.:39.00   Panicum   : 0   Cana de açúcar e/ou Capineira: 7   No período da seca: 4  
 Median :52.00   Cynodon   : 7   Não fornece                  :30   Aleatório         : 1  
 Mean   :48.81   Outros    : 0                                      Não fornece       :30  
 3rd Qu.:56.00                                                                             
 Max.   :70.00                                                                             
                        3.14                 3.15             3.16                3.2                       3.21   
 Vacas em lactação        :11   Cálculo técnico: 0   Ano todo   : 6   Holandesa     : 4   Produtor            :33  
 Vacas em lactação e secas: 0   Produtividade  : 0   Na seca    : 5   Outros        : 0   Orgão governamentais: 1  
 Todo rebanho             : 0   Sem critério   :11   Aleatório  : 0   Girolanda     :26   Terceirizado        : 3  
 Não fornece              :26   Não fornece    :26   Não fornece:26   Vacas mestiças: 7                            
                                                                                                                   
                                                                                                                   
  3.22     3.23         3.24                            3.31     3.32     3.33     3.34                     3.35   
 Sim:37   Sim:36   Min.   : 0.000   Monta natural         :32   Sim:32   Sim:34   Sim:23   Entre 11 e 13 meses:25  
 Não: 0   Não: 1   1st Qu.: 0.000   Monta controlada      : 2   Não: 5   Não: 3   Não:14   Entre 14 e 17 meses: 9  
                   Median : 1.000   Inseminação artificial: 2                              Não sabem          : 3  
                   Mean   : 2.189   Ambas                 : 1                                                      
                   3rd Qu.: 2.000                                                                                  
                   Max.   :10.000                                                                                  
                       4.1      4.2      4.3      4.4      4.5      4.6           5.1                            5.2    
 Total                   : 4   Sim: 4   Sim:24   Sim: 7   Sim: 8   Sim:37   Manual  :36   Coberto e cimentado      : 3  
 Parcial                 : 2   Não:33   Não:13   Não:30   Não:29   Não: 0   Mecânica: 1   Coberto e terra batida   :27  
 Já ouvi, mas não conheço:12                                                              Descoberto e terra batida: 7  
 Desconheço              :19                                                                                            
                                                                                                                        
                                                                                                                        
                 5.3                 5.4                        5.5              5.6                   5.7    
 Tanque comunitário: 3   1 vez ao dia  :36   Diário               : 5   Realiza    : 0   Lavagem com água:19  
 Tanque próprio    : 1   2 vezes ao dia: 1   Esporádico (as vezes): 8   Não realiza:37   Pré dipping     : 2  
 Não tem           :33                       Raramente (já fez)   : 1                    Pano único      : 8  
                                             Não realiza          :23                    Não realiza     : 8  
                                                                                                              
                                                                                                              
                        5.8                         5.9                           5.10     5.11   
 Pós dipping              : 3   Alimentação das vacas : 0   Detergente e sanitizante:15   Sim:32  
 Bezerro junto com  a vaca:26   Libera para a pastagem:37   Detergente              :21   Não: 5  
 Não aplica               : 8   Não aplica            : 0   Somente água            : 1           
                                                                                                  
                                                                                                  
                                                                                                  
                           6.1      6.2                 6.3                   6.4        cluster 
 Laticínios ou Queijarias    : 8   Sim: 0   Diário        :32   Diário          : 0   Min.   :2  
 Atravessador ou Venda direta: 1   Não:37   Dois dias     : 0   Período definido: 9   1st Qu.:2  
 Produção própria            :28            Três dias     : 3   Aleatório       :28   Median :2  
                                            Não tem rotina: 2                         Mean   :2  
                                                                                      3rd Qu.:2  
                                                                                      Max.   :2  

Algoritmo Hierárquico

res.hc <- hclust(d = gower_dist, method = "ward.D2")
#Ward’s minimum variance method: It minimizes the total within-cluster variance. At each step the pair of clusters with minimum between-cluster distance are merged.
fviz_dist(gower_dist)

fviz_dend(res.hc, cex = 0.5)

# Compute cophentic distance
res.coph <- cophenetic(res.hc)
# Correlation between cophenetic distance and
# the original distance
cor(gower_dist, res.coph)
[1] 0.5265494
res.hc2 <- hclust(gower_dist, method = "average")
cor(gower_dist, cophenetic(res.hc2))
[1] 0.6896562
# Cut tree into k groups
#k=4
grp <- cutree(res.hc, k )
grp
 Produtor 1  Produtor 2  Produtor 3  Produtor 4  Produtor 5  Produtor 6  Produtor 7  Produtor 8  Produtor 9 Produtor 10 
          1           2           2           1           2           1           1           1           1           2 
Produtor 11 Produtor 12 Produtor 13 Produtor 14 Produtor 15 Produtor 16 Produtor 17 Produtor 18 Produtor 19 Produtor 20 
          2           2           2           2           2           2           1           2           2           2 
Produtor 21 Produtor 22 Produtor 23 Produtor 24 Produtor 25 Produtor 26 Produtor 27 Produtor 28 Produtor 29 Produtor 30 
          2           2           2           1           1           1           2           2           2           1 
Produtor 31 Produtor 32 Produtor 33 Produtor 34 Produtor 35 Produtor 36 Produtor 37 Produtor 38 Produtor 39 Produtor 40 
          2           2           2           2           2           2           1           2           2           2 
Produtor 41 Produtor 42 Produtor 43 Produtor 44 Produtor 45 Produtor 46 Produtor 47 Produtor 48 Produtor 49 Produtor 50 
          2           2           2           2           1           1           2           2           1           2 
Produtor 51 Produtor 52 Produtor 53 Produtor 54 Produtor 55 Produtor 56 Produtor 57 Produtor 58 Produtor 59 Produtor 60 
          2           2           2           2           2           2           2           2           2           2 
Produtor 61 Produtor 62 Produtor 63 Produtor 64 Produtor 65 Produtor 66 Produtor 67 Produtor 68 Produtor 69 Produtor 70 
          2           1           2           2           2           2           2           2           1           2 
Produtor 71 Produtor 72 Produtor 73 Produtor 74 Produtor 75 Produtor 76 Produtor 77 Produtor 78 Produtor 79 Produtor 80 
          2           2           2           2           2           2           2           2           2           2 
Produtor 81 
          2 
table(grp)
grp
 1  2 
17 64 
# Cut in 3 groups and color by groups
fviz_dend(res.hc, k , # Cut in k groups
cex = 0.5, # label size
#k_colors = c("#2E9FDF", "#00AFBB", "#FC4E07", "#E7B800"),
color_labels_by_k = TRUE, # color labels by groups
rect = TRUE # Add rectangle around groups
)

#  como fazer com as dist?  só lançar data como matriz de distâncias
fviz_cluster(list(data = gower_dist, cluster = grp),
#palette = c("#2E9FDF", "#00AFBB", "#E7B800", "#FC4E07", "red"),
ellipse.type = "confidence", # Concentration ellipse
repel = TRUE, # Avoid label overplotting (slow)
show.clust.cent = T, ggtheme = theme_minimal())

LS0tDQp0aXRsZTogIkFuw6FsaXNlIGRlIENvbmdsb21lcmFkb3MgLSBCYXNlIHBhcmEgRGlzc2VydGHDp8OjbyBkZSBNZXN0cmFkbyBQcm9maXNzaW9uYWwgZG8gRWxpc3ZhbmlyIElGUlItIFVORVNQIDIwMTgiDQphdXRob3I6ICJMZW9uaSwgUi4gQy4gUHJvZi4gRHIuIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KDQpgYGB7ciBzZXR1cCwgZWNobz1GQUxTRX0NCg0KDQpybShsaXN0PWxzKGFsbD1UUlVFKSkNCg0KbGlicmFyeShmYWN0b2V4dHJhKQ0KbGlicmFyeShwc3ljaCkNCmxpYnJhcnkoY2x1c3RlcikNCmxpYnJhcnkoTmJDbHVzdCkNCmxpYnJhcnkocmVhZHhsKQ0KbGlicmFyeShyb2J1c3RYKQ0KbGlicmFyeShkZW5kZXh0ZW5kKQ0KbGlicmFyeShjb3JycGxvdCkNCmxpYnJhcnkoY2x1c3RNaXhUeXBlKQ0KbGlicmFyeShkcGx5cikgIyBmb3IgZGF0YSBjbGVhbmluZw0KbGlicmFyeShJU0xSKSAjIGZvciBjb2xsZWdlIGRhdGFzZXQNCmxpYnJhcnkoUnRzbmUpICMgZm9yIHQtU05FIHBsb3QNCmxpYnJhcnkoZ2dwbG90MikgIyBmb3IgdmlzdWFsaXphdGlvbg0KI2xpYnJhcnkoQ2x1TWl4KQ0KYGBgDQoNCmBgYHtyfQ0KI2xpYnJhcnkoZGV2dG9vbHMpDQojc2Vzc2lvbl9pbmZvKCkNCmBgYA0KDQpgYGB7cn0NCj9kYWlzeSgpDQojYXJ0aWdvIGJhc2UgcGFyYSBjcmlhciBjbHVzdGVyIGNvbSB2YXJpw6F2ZWlzIHF1YWxpIGUgcXVhbnRpIC0gR293ZXIsIEouIEMuICgxOTcxKSBBIGdlbmVyYWwgY29lZmZpY2llbnQgb2Ygc2ltaWxhcml0eSBhbmQgc29tZSBvZiBpdHMgcHJvcGVydGllcywgQmlvbWV0cmljcyAyNywgODU34oCTODc0Lg0KYGBgDQoNCg0KYGBge3J9DQojIGRhZG9zIHF1YWxpZmljYcOnw6NvDQojZGFkb3M8LSByZWFkX2V4Y2VsKCJkYWRvc190YWIueGxzeCIpDQojIGRhZG9zIGRlZmVzYQ0KZGFkb3M8LSByZWFkX2V4Y2VsKCJkYWRvc3JvcmFpbWEueGxzeCIpDQpkYWRvcyA8LSBkYWRvc1tjKDE6ODMpLC0xXSAjZXhjbHVpciBjb2x1bmEgMQ0KDQojIEV4Y2x1aXIgcG9kdXRvciAzNiBlIDcwDQpkYWRvcyA8LSBkYWRvc1stYygzNiw3MCksXQ0KDQoNCnJvdy5uYW1lcyhkYWRvcykgPC0gKGMoDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgMSIsICAgICAgICAgICAgICAgICAgICAgIlByb2R1dG9yIDIiLA0KICAgICAgICAgICAgICAgICAgICAgIlByb2R1dG9yIDMiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA0IiwNCiAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA1IiwgICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNiIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNyIsICAgICAgICAgICAgICAgICAgICAgIlByb2R1dG9yIDgiLA0KICAgICAgICAgICAgICAgICAgICAgIlByb2R1dG9yIDkiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciAxMCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgMTEiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciAxMiIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgMTMiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciAxNCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgMTUiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciAxNiIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgMTciLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciAxOCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgMTkiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciAyMCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgMjEiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciAyMiIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgMjMiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciAyNCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgMjUiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciAyNiIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgMjciLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciAyOCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgMjkiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciAzMCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgMzEiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciAzMiIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgMzMiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciAzNCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgMzUiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciAzNiIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgMzciLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciAzOCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgMzkiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA0MCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNDEiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA0MiIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNDMiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA0NCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNDUiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA0NiIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNDciLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA0OCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNDkiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA1MCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNTEiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA1MiIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNTMiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA1NCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNTUiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA1NiIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNTciLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA1OCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNTkiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA2MCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNjEiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA2MiIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNjMiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA2NCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNjUiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA2NiIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNjciLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA2OCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNjkiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA3MCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNzEiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA3MiIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNzMiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA3NCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNzUiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA3NiIsICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNzciLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA3OCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgNzkiLCAgICAgICAgICAgICAgICAgICAgICJQcm9kdXRvciA4MCIsDQogICAgICAgICAgICAgICAgICAgICAiUHJvZHV0b3IgODEiKSkNCiNWaWV3KGRhZG9zNikNCnN0cihkYWRvcykNCg0KZGFkb3MkYDEuMWA8LWZhY3RvcihkYWRvcyRgMS4xYCwgbGV2ZWxzID0gYygiMSIsIjIiKSwgbGFiZWxzID0gYygiUHJvcHJpZXTDoXJpbyIsIk1vcmFkb3IiKSkNCmRhZG9zJGAxLjJgPC1mYWN0b3IoZGFkb3MkYDEuMmAsIGxldmVscyA9IGMoIjEiLCIyIiksIGxhYmVscyA9IGMoIkxlaXRlaXJhIiwiTGVpdGVpcmEgZSBlbmdvcmRhIikpDQpkYWRvcyRgMS4zYDwtZmFjdG9yKGRhZG9zJGAxLjNgLCBsZXZlbHMgPSBjKCIxIiwiMiIpLCBsYWJlbHMgPSBjKCJQYXZpbWVudGFkYSIsICJOw6NvX3BhdmltZW50YWRhIikpDQpkYWRvcyRgMS45YDwtZmFjdG9yKGRhZG9zJGAxLjlgLCBsZXZlbHMgPSBjKCIxIiwiMiIpLCBsYWJlbHMgPSBjKCJTaW0iLCJOw6NvIikpDQpkYWRvcyRgMi4xYDwtZmFjdG9yKGRhZG9zJGAyLjFgLCBsZXZlbHMgPSBjKCIxIiwiMiIpLCBsYWJlbHMgPSBjKCJTb2x0ZWlybyIsIkNhc2FkbyBvdSBVbmnDo28gZXN0w6F2ZWwiKSkNCg0KZGFkb3MkYDIuMmA8LWZhY3RvcihkYWRvcyRgMi4yYCwgbGV2ZWxzID0gYygiMSIsIjIiLCIzIiwiNCIpLCBsYWJlbHMgPWMoIkZ1bmRhbWVudGFsIEluY29tcGxldG8iLCJGdW5kYW1lbnRhbCBjb21wbGV0byIsIkVuc2lubyBtw6lkaW8gY29tcGxldG8iLCJTdXBlcmlvciBjb21wbGV0byIpLCBvcmRlcmVkID0gVFJVRSkNCiNkYWRvcyRgMi41YDwtZmFjdG9yKGRhZG9zJGAyLjVgLCBsZXZlbHMgPSBjKCIxIiwiMiIpLCBsYWJlbHMgPSBjKCJTaW0iLCJOw6NvIikpDQoNCmRhZG9zJGAzLjJgPC1mYWN0b3IoZGFkb3MkYDMuMmAsIGxldmVscyA9IGMoIjEiLCIyIiwiMyIsIjQiKSwgbGFiZWxzID1jKCJIb2xhbmRlc2EiLCJPdXRyb3MiLCJHaXJvbGFuZGEiLCJWYWNhcyBtZXN0acOnYXMiKSkNCg0KZGFkb3MkYDMuMTFgPC1mYWN0b3IoZGFkb3MkYDMuMTFgLCBsZXZlbHMgPSBjKCIxIiwiMiIsIjMiLCI0IiksIGxhYmVscyA9YygiQnJhcXVpYXJpYSIsIlBhbmljdW0iLCJDeW5vZG9uIiwiT3V0cm9zIikpDQoNCmRhZG9zJGAzLjEyYDwtZmFjdG9yKGRhZG9zJGAzLjEyYCwgbGV2ZWxzID0gYygiMSIsIjIiLCIzIiksIGxhYmVscyA9YygiU2lsYWdlbSIsIkNhbmEgZGUgYcOnw7pjYXIgZS9vdSBDYXBpbmVpcmEiLCJOw6NvIGZvcm5lY2UiKSkNCg0KDQpkYWRvcyRgMy4xM2A8LWZhY3RvcihkYWRvcyRgMy4xM2AsIGxldmVscyA9IGMoIjEiLCIyIiwiMyIsIjQiKSwgbGFiZWxzID1jKCJBbm8gdG9kbyIsIk5vIHBlcsOtb2RvIGRhIHNlY2EiLCJBbGVhdMOzcmlvIiwiTsOjbyBmb3JuZWNlIikpDQoNCmRhZG9zJGAzLjE0YDwtZmFjdG9yKGRhZG9zJGAzLjE0YCwgbGV2ZWxzID0gYygiMSIsIjIiLCIzIiwiNCIpLCBsYWJlbHMgPWMoIlZhY2FzIGVtIGxhY3Rhw6fDo28iLCJWYWNhcyBlbSBsYWN0YcOnw6NvIGUgc2VjYXMiLCJUb2RvIHJlYmFuaG8iLCJOw6NvIGZvcm5lY2UiKSkNCg0KZGFkb3MkYDMuMTVgPC1mYWN0b3IoZGFkb3MkYDMuMTVgLCBsZXZlbHMgPSBjKCIxIiwiMiIsIjMiLCI0IiksIGxhYmVscyA9YygiQ8OhbGN1bG8gdMOpY25pY28iLCJQcm9kdXRpdmlkYWRlIiwiU2VtIGNyaXTDqXJpbyIsIk7Do28gZm9ybmVjZSIpKQ0KDQpkYWRvcyRgMy4xNmA8LWZhY3RvcihkYWRvcyRgMy4xNmAsIGxldmVscyA9IGMoIjEiLCIyIiwiMyIsIjQiKSwgbGFiZWxzID1jKCJBbm8gdG9kbyIsIk5hIHNlY2EiLCJBbGVhdMOzcmlvIiwiTsOjbyBmb3JuZWNlIikpDQoNCiNkYWRvcyRgMy4xN2A8LWZhY3RvcihkYWRvcyRgMy4xN2AsIGxldmVscyA9IGMoIjEiLCIyIiwiMyIpLCBsYWJlbHMgPWMoIlNhbCBtaW5lcmFsIiwiU2FsIGNvbXVtIiwiTsOjbyBmb3JuZWNlIikpDQoNCiNkYWRvcyRgMy4xOGA8LWZhY3RvcihkYWRvcyRgMy4xOGAsIGxldmVscyA9IGMoIjEiLCIyIiwiMyIsIjQiKSwgbGFiZWxzID1jKCJTZW1hbmFsIiwiUXVpbnplbmFsIiwiTWVuc2FsIiwiTsOjbyBmb3JuZWNlIiksIG9yZGVyZWQgPSBUUlVFKQ0KDQojZGFkb3MkYDMuMTlgPC1mYWN0b3IoZGFkb3MkYDMuMTlgLCBsZXZlbHMgPSBjKCIxIiwiMiIsIjMiKSwgbGFiZWxzID1jKCJCb2EiLCJSdWltIiwiTsOjbyBzYWJlIikpDQoNCmRhZG9zJGAzLjIxYDwtZmFjdG9yKGRhZG9zJGAzLjIxYCwgbGV2ZWxzID0gYygiMSIsIjIiLCIzIiksIGxhYmVscyA9YygiUHJvZHV0b3IiLCJPcmfDo28gZ292ZXJuYW1lbnRhaXMiLCJUZXJjZWlyaXphZG8iKSkNCg0KZGFkb3MkYDMuMjJgPC1mYWN0b3IoZGFkb3MkYDMuMjJgLCBsZXZlbHMgPSBjKCIxIiwiMiIpLCBsYWJlbHMgPSBjKCJTaW0iLCJOw6NvIikpDQpkYWRvcyRgMy4yM2A8LWZhY3RvcihkYWRvcyRgMy4yM2AsIGxldmVscyA9IGMoIjEiLCIyIiksIGxhYmVscyA9IGMoIlNpbSIsIk7Do28iKSkNCg0KZGFkb3MkYDMuMzFgPC1mYWN0b3IoZGFkb3MkYDMuMzFgLCBsZXZlbHMgPSBjKCIxIiwiMiIsIjMiLCI0IiksIGxhYmVscyA9YygiTW9udGEgbmF0dXJhbCIsIk1vbnRhIGNvbnRyb2xhZGEiLCJJbnNlbWluYcOnw6NvIGFydGlmaWNpYWwiLCJBbWJhcyIpKQ0KDQpkYWRvcyRgMy4zMmA8LWZhY3RvcihkYWRvcyRgMy4zMmAsIGxldmVscyA9IGMoIjEiLCIyIiksIGxhYmVscyA9IGMoIlNpbSIsIk7Do28iKSkNCmRhZG9zJGAzLjMzYDwtZmFjdG9yKGRhZG9zJGAzLjMzYCwgbGV2ZWxzID0gYygiMSIsIjIiKSwgbGFiZWxzID0gYygiU2ltIiwiTsOjbyIpKQ0KZGFkb3MkYDMuMzRgPC1mYWN0b3IoZGFkb3MkYDMuMzRgLCBsZXZlbHMgPSBjKCIxIiwiMiIpLCBsYWJlbHMgPSBjKCJTaW0iLCJOw6NvIikpDQpkYWRvcyRgMy4zNWA8LWZhY3RvcihkYWRvcyRgMy4zNWAsIGxldmVscyA9IGMoIjEiLCIyIiwiMyIpLCBsYWJlbHMgPWMoIkVudHJlIDExIGUgMTMgbWVzZXMiLCJFbnRyZSAxNCBlIDE3IG1lc2VzIiwiTsOjbyBzYWJlbSIpKQ0KDQoNCmRhZG9zJGA0LjFgPC1mYWN0b3IoZGFkb3MkYDQuMWAsIGxldmVscyA9IGMoIjEiLCIyIiwiMyIsIjQiKSwgbGFiZWxzID1jKCJUb3RhbCIsIlBhcmNpYWwiLCJKw6Egb3V2aSwgbWFzIG7Do28gY29uaGXDp28iLCJEZXNjb25oZcOnbyIpLCBvcmRlcmVkID0gVFJVRSkNCg0KZGFkb3MkYDQuMmA8LWZhY3RvcihkYWRvcyRgNC4yYCwgbGV2ZWxzID0gYygiMSIsIjIiKSwgbGFiZWxzID0gYygiU2ltIiwiTsOjbyIpKQ0KZGFkb3MkYDQuM2A8LWZhY3RvcihkYWRvcyRgNC4zYCwgbGV2ZWxzID0gYygiMSIsIjIiKSwgbGFiZWxzID0gYygiU2ltIiwiTsOjbyIpKQ0KZGFkb3MkYDQuNGA8LWZhY3RvcihkYWRvcyRgNC40YCwgbGV2ZWxzID0gYygiMSIsIjIiKSwgbGFiZWxzID0gYygiU2ltIiwiTsOjbyIpKQ0KZGFkb3MkYDQuNWA8LWZhY3RvcihkYWRvcyRgNC41YCwgbGV2ZWxzID0gYygiMSIsIjIiKSwgbGFiZWxzID0gYygiU2ltIiwiTsOjbyIpKQ0KZGFkb3MkYDQuNmA8LWZhY3RvcihkYWRvcyRgNC42YCwgbGV2ZWxzID0gYygiMSIsIjIiKSwgbGFiZWxzID0gYygiU2ltIiwiTsOjbyIpKQ0KDQpkYWRvcyRgNS4xYDwtZmFjdG9yKGRhZG9zJGA1LjFgLCBsZXZlbHMgPSBjKCIxIiwiMiIpLCBsYWJlbHMgPWMoIk1hbnVhbCIsIk1lY8OibmljYSIpKQ0KDQpkYWRvcyRgNS4yYDwtZmFjdG9yKGRhZG9zJGA1LjJgLCBsZXZlbHMgPSBjKCIxIiwiMiIsIjMiKSwgbGFiZWxzID1jKCJDb2JlcnRvIGUgY2ltZW50YWRvIiwiQ29iZXJ0byBlIHRlcnJhIGJhdGlkYSIsIkRlc2NvYmVydG8gZSB0ZXJyYSBiYXRpZGEiKSwgb3JkZXJlZCA9IFRSVUUpDQoNCmRhZG9zJGA1LjNgPC1mYWN0b3IoZGFkb3MkYDUuM2AsIGxldmVscyA9IGMoIjEiLCIyIiwiMyIpLCBsYWJlbHMgPWMoIlRhbnF1ZSBjb211bml0w6FyaW8iLCJUYW5xdWUgcHLDs3ByaW8iLCJOw6NvIHRlbSIpKQ0KZGFkb3MkYDUuNGA8LWZhY3RvcihkYWRvcyRgNS40YCwgbGV2ZWxzID0gYygiMSIsIjIiKSwgbGFiZWxzID1jKCIxIHZleiBhbyBkaWEiLCIyIHZlemVzIGFvIGRpYSIpKQ0KDQpkYWRvcyRgNS41YDwtZmFjdG9yKGRhZG9zJGA1LjVgLCBsZXZlbHMgPSBjKCIxIiwiMiIsIjMiLCI0IiksIGxhYmVscyA9YygiRGnDoXJpbyIsIkVzcG9yw6FkaWNvIChhcyB2ZXplcykiLCJSYXJhbWVudGUgKGrDoSBmZXopIiwiTsOjbyByZWFsaXphIikpDQoNCmRhZG9zJGA1LjZgPC1mYWN0b3IoZGFkb3MkYDUuNmAsIGxldmVscyA9IGMoIjEiLCIyIiksIGxhYmVscyA9YygiUmVhbGl6YSIsIk7Do28gcmVhbGl6YSIpLCBvcmRlcmVkID0gVFJVRSkNCg0KZGFkb3MkYDUuN2A8LWZhY3RvcihkYWRvcyRgNS43YCwgbGV2ZWxzID0gYygiMSIsIjIiLCIzIiwiNCIpLCBsYWJlbHMgPWMoIkxhdmFnZW0gY29tIMOhZ3VhIiwiUHLDqSBkaXBwaW5nIiwiUGFubyDDum5pY28iLCJOw6NvIHJlYWxpemEiKSkNCg0KZGFkb3MkYDUuOGA8LWZhY3RvcihkYWRvcyRgNS44YCwgbGV2ZWxzID0gYygiMSIsIjIiLCIzIiksIGxhYmVscyA9YygiUMOzcyBkaXBwaW5nIiwiQmV6ZXJybyBqdW50byBjb20gIGEgdmFjYSIsIk7Do28gYXBsaWNhIikpDQoNCmRhZG9zJGA1LjlgPC1mYWN0b3IoZGFkb3MkYDUuOWAsIGxldmVscyA9IGMoIjEiLCIyIiwiMyIpLCBsYWJlbHMgPWMoIkFsaW1lbnRhw6fDo28gZGFzIHZhY2FzIiwiTGliZXJhIHBhcmEgYSBwYXN0YWdlbSIsIk7Do28gYXBsaWNhIikpDQoNCmRhZG9zJGA1LjEwYDwtZmFjdG9yKGRhZG9zJGA1LjEwYCwgbGV2ZWxzID0gYygiMSIsIjIiLCIzIiksIGxhYmVscyA9YygiRGV0ZXJnZW50ZSBlIHNhbml0aXphbnRlIiwiRGV0ZXJnZW50ZSIsIlNvbWVudGUgw6FndWEiKSkNCg0KZGFkb3MkYDUuMTFgPC1mYWN0b3IoZGFkb3MkYDUuMTFgLCBsZXZlbHMgPSBjKCIxIiwiMiIpLCBsYWJlbHMgPSBjKCJTaW0iLCJOw6NvIikpDQoNCmRhZG9zJGA2LjFgPC1mYWN0b3IoZGFkb3MkYDYuMWAsIGxldmVscyA9IGMoIjEiLCIyIiwiMyIpLCBsYWJlbHMgPWMoIkxhdGljw61uaW9zIG91IFF1ZWlqYXJpYXMiLCJBdHJhdmVzc2Fkb3Igb3UgVmVuZGEgZGlyZXRhIiwiUHJvZHXDp8OjbyBwcsOzcHJpYSIpKQ0KDQpkYWRvcyRgNi4yYDwtZmFjdG9yKGRhZG9zJGA2LjJgLCBsZXZlbHMgPSBjKCIxIiwiMiIpLCBsYWJlbHMgPSBjKCJTaW0iLCJOw6NvIikpDQpkYWRvcyRgNi4zYDwtZmFjdG9yKGRhZG9zJGA2LjNgLCBsZXZlbHMgPSBjKCIxIiwiMiIsIjMiLCI0IiksIGxhYmVscyA9YygiRGnDoXJpbyIsIkRvaXMgZGlhcyIsIlRyw6pzIGRpYXMiLCJOw6NvIHRlbSByb3RpbmEiKSkNCg0KZGFkb3MkYDYuNGA8LWZhY3RvcihkYWRvcyRgNi40YCwgbGV2ZWxzID0gYygiMSIsIjIiLCIzIiksIGxhYmVscyA9YygiRGnDoXJpbyIsIlBlcsOtb2RvIGRlZmluaWRvIiwiQWxlYXTDs3JpbyIpKQ0KDQojc29tZW50ZSBxdWFsaXRhdGl2b3MNCiNkYWRvc19xdWFsaSA8LSBkYWRvc1ssYygnMS4xJywnMS4yJywnMS4zJywnMS45JywnMi4xJywnMi4yJywnMy4yJywnMy4xMScsJzMuMTInLCczLjEzJywnMy4xNCcsJzMuMTUnLCczLjE2JywnMy4yMScsJzMuMjInLCczLjIzJywnMy4zMScsJzMuMzInLCczLjMzJywnMy4zNCcsJzMuMzUnLCc0LjEnLCc0LjInLCc0LjMnLCc0LjQnLCc0LjUnLCc0LjYnLCc1LjEnLCc1LjInLCc1LjMnLCc1LjQnLCc1LjUnLCc1LjYnLCc1LjcnLCc1LjgnLCc1LjknLCc1LjEwJywnNS4xMScsJzYuMScsJzYuMicsJzYuMycsJzYuNCcpXQ0KDQojc29tZW50ZSBxdWFudGl0YXRpdm9zDQoNCiNkYWRvc19xdWFudGkgPC0gIGRhZG9zWyxjKCcxLjQnLCcxLjUnLCcxLjYnLCcxLjcnLCcxLjgnLCcxLjEwJywnMi4zJywnMy4yNCcpXQ0KI3N0cihkYWRvcykNCg0KIyAgZXNjb2xoZXIgbyBxdWUgdmFpIGVtcHJlZ2FyDQoNCiNkYWRvcz1kYWRvc19xdWFudGkNCiNkYWRvcyA9IGRhZG9zX3F1YWxpDQpkYWRvcz1kYWRvcw0KYGBgDQoNCg0KIyBEZXNjcmnDp8Ojbw0KDQpgYGB7cn0NCmdsaW1wc2UoZGFkb3MpDQpkYWRvcyANCnN0YXRzNDo6c3VtbWFyeShkYWRvcykNCmBgYA0KDQpgYGB7cn0NCmdvd2VyX2Rpc3QgPC0gZGFpc3koZGFkb3MsIG1ldHJpYyA9ICJnb3dlciIpDQojIENoZWNrIGF0dHJpYnV0ZXMgdG8gZW5zdXJlIHRoZSBjb3JyZWN0IG1ldGhvZHMgYXJlIGJlaW5nIHVzZWQNCiMgKEkgPSBpbnRlcnZhbCcsJyBOID0gbm9taW5hbCkNCnN1bW1hcnkoZ293ZXJfZGlzdCkNCmBgYA0KDQojIHZlcmlmaWNhciBhIG1haXMgc2ltaWxhciBlIG1haXMgZGlzc2ltaWxhcg0KDQpgYGB7cn0NCmdvd2VyX21hdCA8LSBhcy5tYXRyaXgoZ293ZXJfZGlzdCkNCg0KIyBPdXRwdXQgbW9zdCBzaW1pbGFyIHBhaXINCg0KZGFkb3NbDQogIHdoaWNoKGdvd2VyX21hdCA9PSBtaW4oZ293ZXJfbWF0W2dvd2VyX21hdCAhPSBtaW4oZ293ZXJfbWF0KV0pLA0KICAgICAgICBhcnIuaW5kID0gVFJVRSlbMSwgXSwgXQ0KDQpkYWRvc1sNCiAgd2hpY2goZ293ZXJfbWF0ID09IG1heChnb3dlcl9tYXRbZ293ZXJfbWF0ICE9IG1heChnb3dlcl9tYXQpXSksDQogICAgICAgIGFyci5pbmQgPSBUUlVFKVsxLCBdLCBdDQpgYGANCg0KIyBBU1NFU1NJTkcgQ0xVU1RFUklORyBURU5ERU5DWQ0KDQpgYGB7cn0NCmZ2aXpfZGlzdChnb3dlcl9kaXN0LCBzaG93X2xhYmVscyA9IEZBTFNFKSsgbGFicyh0aXRsZSA9ICIiKQ0KDQojVGhlIGFsZ29yaXRobSBvZiB0aGUgdmlzdWFsIGFzc2Vzc21lbnQgb2YgY2x1c3RlciB0ZW5kZW5jeSAoVkFUKSBhcHByb2FjaCAoQmV6ZGVrIGFuZCBIYXRoYXdheSwgMjAwMikgaXMgYXMgZm9sbG93Og0KI1RoZSBhbGdvcml0aG0gb2YgVkFUIGlzIGFzIGZvbGxvdzogDQojIDEuIENvbXB1dGUgdGhlIGRpc3NpbWlsYXJpdHkgKERNKSBtYXRyaXggYmV0d2VlbiB0aGUgb2JqZWN0cyBpbiB0aGUgZGF0YSBzZXQgdXNpbmcgdGhlIEV1Y2xpZGVhbiBkaXN0YW5jZSBtZWFzdXJlICgzKQ0KIyAyLiBSZW9yZGVyIHRoZSBETSBzbyB0aGF0IHNpbWlsYXIgb2JqZWN0cyBhcmUgY2xvc2UgdG8gb25lIGFub3RoZXIuIFRoaXMgcHJvY2VzcyBjcmVhdGUgYW4gb3JkZXJlZCBkaXNzaW1pbGFyaXR5IG1hdHJpeCAoT0RNKQ0KIyAzLiBUaGUgT0RNIGlzIGRpc3BsYXllZCBhcyBhbiBvcmRlcmVkIGRpc3NpbWlsYXJpdHkgaW1hZ2UgKE9ESSksIHdoaWNoIGlzIHRoZSB2aXN1YWwgb3V0cHV0IG9mIFZBVA0KI1RoZSBjb2xvciBsZXZlbCBpcyBwcm9wb3J0aW9uYWwgdG8gdGhlIHZhbHVlIG9mIHRoZSBkaXNzaW1pbGFyaXR5IGJldHdlZW4gb2JzZXJ2YXRpb25zOiBwdXJlIHJlZCBpZiBkaXN0KHhpLCB4aikgPSAwIGFuZCBwdXJlIGJsdWUgaWYgZGlzdCh4aSwgeGopID0gMS4gT2JqZWN0cyBiZWxvbmdpbmcgdG8gdGhlIHNhbWUgY2x1c3RlciBhcmUgZGlzcGxheWVkIGluIGNvbnNlY3V0aXZlIG9yZGVyLg0KI1RoZSBkaXNzaW1pbGFyaXR5IG1hdHJpeCBpbWFnZSBjb25maXJtcyB0aGF0IHRoZXJlIGlzIGEgY2x1c3RlciBzdHJ1Y3R1cmUgaW4gdGhlICBkYXRhLg0KDQoNCg0KDQpgYGANCg0KIyBhbGdvcml0bW8gbsOjbyBoaWVyw6FycXVpY28gUEFNDQoNCmBgYHtyfQ0KIyBDYWxjdWxhdGUgc2lsaG91ZXR0ZSB3aWR0aCBmb3IgbWFueSBrIHVzaW5nIFBBTQ0KI2dvd2VyX2Rpc3QgLSBtYXRyaXogY29tIGFzIGRpc3TDom5jaWFzDQpzaWxfd2lkdGggPC0gYyhOQSkNCmZvcihpIGluIDI6MjUpew0KICBwYW1fZml0IDwtIHBhbShnb3dlcl9kaXN0LA0KICAgICAgICAgICAgICAgICBkaXNzID0gVFJVRSwNCiAgICAgICAgICAgICAgICAgayA9IGkpDQogIHNpbF93aWR0aFtpXSA8LSBwYW1fZml0JHNpbGluZm8kYXZnLndpZHRoDQp9DQojIFBsb3Qgc2lob3VldHRlIHdpZHRoIChoaWdoZXIgaXMgYmV0dGVyKQ0KDQpwbG90KDE6MjUsIHNpbF93aWR0aCwNCiAgICAgeGxhYiA9ICJOdW1iZXIgb2YgY2x1c3RlcnMiLA0KICAgICB5bGFiID0gIlNpbGhvdWV0dGUgV2lkdGgiKQ0KbGluZXMoMToyNSwgc2lsX3dpZHRoKQ0KDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KGZwYykNCg0KcGFtayhnb3dlcl9kaXN0LCBkaXNzPVQsa3JhbmdlPTI6MjUsY3JpdGVyaW9uPSJhc3ciLCB1c2VwYW09VFJVRSkNCg0KDQpgYGANCg0KDQoNCg0KYGBge3J9DQprPTINCnBhbV9maXQgPC0gcGFtKGdvd2VyX2Rpc3QsIGRpc3MgPSBUUlVFLCBrKQ0KDQpkYWRvc1twYW1fZml0JG1lZG9pZHMsIF0NCnByaW50KHBhbV9maXQpDQoNCmdycCA9IHBhbV9maXQkY2x1c3RlcmluZw0KDQojICBjb21vIGZhemVyIGNvbSBhcyBkaXN0PyAgc8OzIGxhbsOnYXIgZGF0YSBjb21vIG1hdHJpeiBkZSBkaXN0w6JuY2lhcw0KDQpmdml6X2NsdXN0ZXIobGlzdChkYXRhID0gZ293ZXJfZGlzdCwgY2x1c3RlciA9IGdycCksDQojcGFsZXR0ZSA9IGMoIm9yYW5nZSIsICJncmVlbiIsInJlZCIsImJyb3duIiwgImJsdWUiKSwNCmVsbGlwc2UudHlwZSA9ICJjb25maWRlbmNlIiwgIyBDb25jZW50cmF0aW9uIGVsbGlwc2UNCnJlcGVsID0gVFJVRSwgIyBBdm9pZCBsYWJlbCBvdmVycGxvdHRpbmcgKHNsb3cpDQpzaG93LmNsdXN0LmNlbnQgPSBULCBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQ0KYGBgDQoNCiMgRGVzY3Jpw6fDo28gZG9zIGdydXBvcyBwZWxvIFBBTQ0KYGBge3J9DQpwYW1fcmVzdWx0cyA8LSBkYWRvcyAlPiUNCiAgZHBseXI6Om11dGF0ZShjbHVzdGVyID0gcGFtX2ZpdCRjbHVzdGVyaW5nKSAlPiUNCiAgZ3JvdXBfYnkoY2x1c3RlcikgJT4lDQogIGRvKHRoZV9zdW1tYXJ5ID0gc3VtbWFyeSguKSkNCg0KcGFtX3Jlc3VsdHMkdGhlX3N1bW1hcnkNCg0KYGBgDQoNCg0KDQojIEFsZ29yaXRtbyBIaWVyw6FycXVpY28gDQpgYGB7cn0NCg0KDQpyZXMuaGMgPC0gaGNsdXN0KGQgPSBnb3dlcl9kaXN0LCBtZXRob2QgPSAid2FyZC5EMiIpDQojV2FyZOKAmXMgbWluaW11bSB2YXJpYW5jZSBtZXRob2Q6IEl0IG1pbmltaXplcyB0aGUgdG90YWwgd2l0aGluLWNsdXN0ZXIgdmFyaWFuY2UuIEF0IGVhY2ggc3RlcCB0aGUgcGFpciBvZiBjbHVzdGVycyB3aXRoIG1pbmltdW0gYmV0d2Vlbi1jbHVzdGVyIGRpc3RhbmNlIGFyZSBtZXJnZWQuDQoNCmZ2aXpfZGlzdChnb3dlcl9kaXN0KQ0KZnZpel9kZW5kKHJlcy5oYywgY2V4ID0gMC41KQ0KDQojIENvbXB1dGUgY29waGVudGljIGRpc3RhbmNlDQpyZXMuY29waCA8LSBjb3BoZW5ldGljKHJlcy5oYykNCiMgQ29ycmVsYXRpb24gYmV0d2VlbiBjb3BoZW5ldGljIGRpc3RhbmNlIGFuZA0KIyB0aGUgb3JpZ2luYWwgZGlzdGFuY2UNCmNvcihnb3dlcl9kaXN0LCByZXMuY29waCkNCg0KcmVzLmhjMiA8LSBoY2x1c3QoZ293ZXJfZGlzdCwgbWV0aG9kID0gImF2ZXJhZ2UiKQ0KY29yKGdvd2VyX2Rpc3QsIGNvcGhlbmV0aWMocmVzLmhjMikpDQoNCiMgQ3V0IHRyZWUgaW50byBrIGdyb3Vwcw0KI2s9NA0KZ3JwIDwtIGN1dHJlZShyZXMuaGMsIGsgKQ0KZ3JwDQp0YWJsZShncnApDQoNCiMgQ3V0IGluIDMgZ3JvdXBzIGFuZCBjb2xvciBieSBncm91cHMNCmZ2aXpfZGVuZChyZXMuaGMsIGsgLCAjIEN1dCBpbiBrIGdyb3Vwcw0KY2V4ID0gMC41LCAjIGxhYmVsIHNpemUNCiNrX2NvbG9ycyA9IGMoIiMyRTlGREYiLCAiIzAwQUZCQiIsICIjRkM0RTA3IiwgIiNFN0I4MDAiKSwNCmNvbG9yX2xhYmVsc19ieV9rID0gVFJVRSwgIyBjb2xvciBsYWJlbHMgYnkgZ3JvdXBzDQpyZWN0ID0gVFJVRSAjIEFkZCByZWN0YW5nbGUgYXJvdW5kIGdyb3Vwcw0KKQ0KDQoNCiMgIGNvbW8gZmF6ZXIgY29tIGFzIGRpc3Q/ICBzw7MgbGFuw6dhciBkYXRhIGNvbW8gbWF0cml6IGRlIGRpc3TDom5jaWFzDQoNCmZ2aXpfY2x1c3RlcihsaXN0KGRhdGEgPSBnb3dlcl9kaXN0LCBjbHVzdGVyID0gZ3JwKSwNCiNwYWxldHRlID0gYygiIzJFOUZERiIsICIjMDBBRkJCIiwgIiNFN0I4MDAiLCAiI0ZDNEUwNyIsICJyZWQiKSwNCmVsbGlwc2UudHlwZSA9ICJjb25maWRlbmNlIiwgIyBDb25jZW50cmF0aW9uIGVsbGlwc2UNCnJlcGVsID0gVFJVRSwgIyBBdm9pZCBsYWJlbCBvdmVycGxvdHRpbmcgKHNsb3cpDQpzaG93LmNsdXN0LmNlbnQgPSBULCBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQ0KDQoNCg0KYGBgDQoNCg0KDQo=