The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Exemplo: dados binários

Alcinei Mistico Azevedo (ICA-UFMG)

2024-04-08

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.034 
#> 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.031 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"

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.