Author: Alcinei Mistico Azevedo (ICA-UFMG)
Date: 2025-07-25

# Exemplo: dados binários

#### Alcinei Mistico Azevedo (ICA-UFMG)

#### 2025-07-25

# Ativando o pacote

Após a instalação do pacote é preciso ativa-lo. Para isso, deve-se utilizar a função `library` ou `require`

    library(MultivariateAnalysis)

# Abrindo o conjunto de dados

Posteriormente, deve-se carregar no R o conjunto de dados a serem analizados. Isso pode ser feito de diferentes formas.

Uma possibilidade é utilizando a função `read.table`. Neste exemplo vamos trabalhar com o banco de dados do pacote, o qual pode ser carregado com a função `data`.

Este exemplo trata-se de dados binarios vindo do uso de marcadores moleculares em cinco individuos.

    data("Dados.BIN")
    Dados.BIN
    #>   M1 M2 M3 M4 M5 M6 M7 M8 M9
    #> 1  1  1  1  0  0  1  0  1  1
    #> 2  0  1  0  1  0  0  1  0  0
    #> 3  1  0  1  1  1  1  0  0  1
    #> 4  0  1  1  0  0  1  0  1  0
    #> 5  1  1  0  1  1  0  1  0  1

# Obtenção de medidas de dissimilaridade

Muitas são as opções que este pacote oferece de medidas de dissimilaridade. Convidamos os usuários a ler o manual da funcao `Distancia` (`?Distancia`).

Para se ter diferentes medidas de dissimilaridade basta colocar o respectivo numero no argumento `Metodo` dentro da função `Distancia`:

### Dados qualitativos (binários ou multicategóricos)

9 = Frequencia de coincidencia.

10 = Frequencia de discordancia.

11 = indice Inverso de 1+coincidencia = 1/(1+c)

### Dados qualitativos binarios

12 = Dissimilaridade de Jacard: 1-a/(a+b+c).

13 = Dissimilaridade de Sorensen Dice: 1-2a/(2a+b+c).

14 = Dissimilaridade de Sokal e Sneath: 1-2(a+d)/(2(a+d)+b+c)

15 = Dissimilaridade de Roger e Tanimoto: 1-(a+d)/(a+2(b+c)+d)

16 = Dissimilaridade de Russel e Rao: 1-a/(a+b+c+d).

17 = Dissimilaridade de Ochiai: 1-a/sqrt((a+b)(a+c)).

18 = Dissimilaridade de Ochiai II: 1-ab/sqrt((a+b)(a+c)(b+d)(c+d)).

19 = Dissimilaridade de Haman: 1-((a+d)-(b+c))/(a+b+c+d).

20 = Dissimilaridade de Yule: 1-(ad-bc)/(ad+bc).

    #colocando nome nos individuos
    rownames(Dados.BIN)=paste0("Indiv_",1:nrow(Dados.BIN))
    Dist=Distancia(Dados.BIN,Metodo = 12)
    Dist
    #> Medida de dissimilaridade: 12 = Dissimilaridade de Jacard: 1-a/(a+b+c).
    #>
    #> Menor Distancia: 0.3333333
    #> Maior Distancia: 0.8888889
    #> Media das Distancias: 0.6722222
    #> Amplitude das Distancias: 0.5555556
    #> Desvio Padrao das Distancias: 0.2013969
    #> Coeficiente de variacao das Distancias: 29.95987
    #> Individuos mais proximos: Indiv_1 Indiv_4
    #> Individuos mais distantes: Indiv_4 Indiv_5

Informações importantes podem ser obtidas dessa matriz com a função `SummaryDistancia`:

    resumo=SummaryDistancia(Dist)

    resumo
    #> _________________________________________________________________________
    #> Tabela com o resumo da matriz dissimilaridade
    #>         Medio Minimo Maximo   sd MaisProximo MaisDistante
    #> Indiv_1  0.59   0.33   0.88 0.23     Indiv_4      Indiv_2
    #> Indiv_2  0.77   0.50   0.88 0.18     Indiv_5      Indiv_1
    #> Indiv_3  0.66   0.50   0.88 0.19     Indiv_1      Indiv_2
    #> Indiv_4  0.70   0.33   0.89 0.25     Indiv_1      Indiv_5
    #> Indiv_5  0.64   0.50   0.89 0.18     Indiv_2      Indiv_4
    #>
    #> Menor Distancia: 0.3333333
    #> Maior Distancia: 0.8888889
    #> Media das Distancias: 0.6722222
    #> Amplitude das Distancias: 0.5555556
    #> Desvio Padrao das Distancias: 0.2013969
    #> Coeficiente de variacao das Distancias: 29.95987
    #> Individuos mais proximos: Indiv_1 Indiv_4
    #> Individuos mais distantes: Indiv_4 Indiv_5
    #> _________________________________________________________________________

A fim de resumir as informações da matriz de dissimilaridade a fim de melhorar a visualização da dissimilaridade, pode-se fazer um Dendrograma com o auxilio da função `Dendrograma`. Varios algoritimos podem ser utilizados para a construção deste Dendrograma. Para isso, deve-se indicar no argumento `Metodo`:

1 = Ligacao simples (Metodo do vizinho mais proximo).

2 = Ligacao completa (Metodo do vizinho distante).

3 = Ligacao media entre grupo (UPGMA).

4 = Metodo de Ward.

5 = Metodo de ward (d2).

6= Metodo da mediana (WPGMC).

7= Metodo do centroide (UPGMC).

8 = Metodo mcquitty (WPGMA).

    Dendrograma(Dist,Metodo=3)

    #> _________________________________________________________________________
    #> Estimativa de correlacao cofenetica:
    #> [1] 0.7586138
    #> Significancia da correlacao cofenetica pelo teste Mantel
    #> pvalor: 0.025
    #> Hipotese alternativa: A correlacao e maior que 0
    #>
    #> Criterio de Corte
    #>    k=1.25
    #> 0.7912968
    #>
    #> Agrupamentos
    #>         Cluster
    #> Indiv_1       1
    #> Indiv_2       1
    #> Indiv_3       1
    #> Indiv_4       1
    #> Indiv_5       1
    #> _________________________________________________________________________

Adcionalmente, pode-se fazer o agrupamento Tocher com o auxilio da função `Tocher`:

    Tocher(Dist)

    #> _________________________________________________________________________
    #> Agrupamento Tocher
    #> Cluster1:
    #> Indiv_1 Indiv_4
    #>
    #> Cluster2:
    #> Indiv_2 Indiv_5
    #>
    #> Cluster3:
    #> Indiv_3
    #>
    #> Distancia intra e intercluster:
    #>           Cluster1  Cluster2 Cluster3
    #> Cluster1 0.3333333 0.8159722   0.6250
    #> Cluster2 0.8159722 0.5000000   0.6875
    #> Cluster3 0.6250000 0.6875000   0.0000
    #>
    #>
    #> Correlacao Cofenetica: 0.7973581
    #> pvalor: 0.029 baseado no teste Mantel
    #> Hipotese alternativa: A correlacao e maior que 0
    #> _________________________________________________________________________

Outra possibilidade é o estudo da dispersão da matriz de dissimilaridade pelas técnica de coordenadas principais:

    CoordenadasPrincipais(Dist)
    #> [1] 1

    #> $values
    #> [1] 0.59349015 0.36699792 0.04534394 0.00000000 0.00000000
    #>
    #> $vectors
    #>                  X1          X2          X3 X4 X5
    #> Indiv_1  0.33281033  0.03368527  0.12273425  0  0
    #> Indiv_2 -0.45603577 -0.30691140 -0.04434396  0  0
    #> Indiv_3  0.07364825  0.38570107 -0.12894680  0  0
    #> Indiv_4  0.39092094 -0.29766861 -0.04686257  0  0
    #> Indiv_5 -0.34134376  0.18519367  0.09741908  0  0
    #>
    #> attr(,"class")
    #> [1] "pcoa"