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: Experimento em DBC com dados Mistos

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)
#> ############################################################
#> Obrigado por utilizar o MultivariateAnalysis
#> Author: Alcinei Mistico Azevedo (ICA-UFMG)
#> Veja tutoriais sobre este e outros pacotes no youtube:
#> https://www.youtube.com/channel/UCDGyvLCJnv9RtTY1YMBMVNQ
#> Se inscreva e compartilhe para ajudar o canal a crescer.
#> ############################################################

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.

data("Dados.DBC.Misto")
head(Dados.DBC.Misto)
#>           Acesso Bloco ProdCom ProdTot NumRaiz CorRama TamRama TipoLobulosFolha
#> 1         Arruba     1  20.042  32.500   2.500       1       6                5
#> 2       Cambraia     1  19.125  34.500   2.625       3       5                7
#> 3 Cariruvermelha     1  27.917  46.542   4.500       9       5                7
#> 4       Coquinha     1   6.875  10.625   3.000       1       6                5
#> 5      Espanhola     1  17.958  26.833   3.000       1       6                5
#> 6         Licuri     1  27.083  39.208   5.333       1       6                7
#>   FormatoLobulo PigmentacaoNervura CorFolha
#> 1             6                  7        3
#> 2             6                  7        4
#> 3             6                  5        9
#> 4             6                  7        1
#> 5             6                  6        3
#> 6             6                  4        4

Analise de variancia Multivariada

Quando se quer saber se há diferença entre os “Tratamentos” do ponto de vista multivariado, pode-se fazer a analise de variância multivariada. Para isso, deve-se utilizar a função MANOVA. Dessa função deve-se considerar o delineamento desejado no argumento Modelo:

1 = Delineamento inteiramente casualizado (DIC)

2 = Delineamento em blocos casualizados (DBC)

3 = Delineamento em quadrado latino (DQL)

4 = Esquema fatorial em DIC

5 = Esquema fatorial em DBC

Res=MANOVA(Dados.DBC.Misto[,1:5],Modelo=2)
Res
#> __________________________________________________________________________ 
#> MANOVA com o teste Pillai 
#>           Df            Pillai         approx F num Df den Df
#> Trat       9  1.42080007707336 2.69908842404249     27     81
#> Bloco      3 0.850965245237817 3.56378005994039      9     81
#> Residuals 27                                                 
#>                         Pr(>F)
#> Trat      0.000319509414350262
#> Bloco     0.000902575136153416
#> Residuals                     
#>   
#> MANOVA com o teste Wilks 
#>           Df              Wilks         approx F num Df           den Df
#> Trat       9 0.0955012834922687 3.36866086165212     27 73.6552121942445
#> Bloco      3   0.35647163286373 3.57701543314339      9 60.9940366951145
#> Residuals 27                                                            
#>                         Pr(>F)
#> Trat      1.93403537406567e-05
#> Bloco       0.0012660522907648
#> Residuals                     
#>   
#> MANOVA com o teste Hotelling 
#>           Df Hotelling-Lawley         approx F num Df den Df
#> Trat       9 4.85767878020045 4.25796535054607     27     71
#> Bloco      3 1.27524841232468 3.35343101018712      9     71
#> Residuals 27                                                
#>                         Pr(>F)
#> Trat      5.17749339202821e-07
#> Bloco      0.00179807124388821
#> Residuals                     
#>   
#> MANOVA com o teste Roy 
#>           Df               Roy         approx F num Df den Df
#> Trat       9  3.93880792222087 11.8164237666626      9     27
#> Bloco      3 0.694133101322297 6.24719791190067      3     27
#> Residuals 27                                                 
#>                         Pr(>F)
#> Trat      2.76081734174698e-07
#> Bloco      0.00231769557967965
#> Residuals                     
#>   
#> As medias dos tratamentos podem ser acessados com o $Med 
#> Os Graus de liberdade do residuo podem ser acessados com o $GLres 
#> A matriz de (co)variancias residuais pode ser acessada com o $CovarianciaResidual 
#> __________________________________________________________________________

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:

Dissimilaridade para os dados quantitativos:

1 = Distancia euclidiana.

2= Distancia euclidiana media.

3 = Quadrado da distancia euclidiana media.

4 = Distancia euclidiana padronizada.

5 = Distancia euclidiana padronizada media.

6 = Quadrado da distancia euclidiana padronizada media.

7 = Distancia de Mahalanobis.

8 = Distancia de Cole Rodgers.

DadosMed=Res$Med
DistMaha=Distancia(DadosMed,Metodo = 7,Cov = Res$CovarianciaResidual)

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

resumo=SummaryDistancia(DistMaha)

resumo
#> _________________________________________________________________________ 
#> Tabela com o resumo da matriz dissimilaridade 
#>                Medio Minimo Maximo   sd    MaisProximo MaisDistante
#> Arruba          3.80   0.09   8.88 3.44         Palmas      TCarro1
#> Cambraia        4.06   0.26  11.16 3.71         Palmas     Coquinha
#> Cariruvermelha  8.79   0.95  25.92 8.85         Licuri     Coquinha
#> Coquinha       14.30   4.00  30.71 9.09        TCarro2      TCarro1
#> Espanhola       3.91   0.13   9.52 3.36         Arruba      TCarro1
#> Licuri          6.74   0.95  19.04 6.48 Cariruvermelha     Coquinha
#> Palmas          3.77   0.09   9.54 3.59         Arruba     Coquinha
#> Princesa        4.84   1.79  13.35 4.33      Espanhola     Coquinha
#> TCarro1        11.39   3.25  30.71 9.61 Cariruvermelha     Coquinha
#> TCarro2        11.27   4.00  24.68 7.94       Coquinha      TCarro1
#> 
#> Menor Distancia: 0.08995549 
#> Maior Distancia: 30.70898 
#> Media das Distancias: 7.286518 
#> Amplitude das Distancias: 30.61903 
#> Desvio Padrao das Distancias: 7.265315 
#> Coeficiente de variacao das Distancias: 99.70901 
#> Individuos mais proximos: Arruba Palmas 
#> Individuos mais distantes: Coquinha TCarro1 
#> _________________________________________________________________________

Dissimilaridade para os dados qualitativos:

Opções de medidas para dados qualitativos

Dados qualitativos: binarios ou multicategoricos

9 = Frequencia de coincidencia.

10 = Frequencia de discordancia.

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

Dadosquali=Dados.DBC.Misto[,6:11]

#Excluindo os valores NA
id=is.na(Dadosquali$CorFolha)==FALSE
Dadosquali2=Dadosquali[id,]
#Colocando o nome dos tratamentos na matriz
rownames(Dadosquali2)=Dados.DBC.Misto[id,1]


Distquali=Distancia(Dadosquali2,Metodo = 10)

Obtendo a média ponderada das matrizes de dissimilaridade


#Criando list com as matrizes
dissimilaridades=list(DistMaha,Distquali)
n=c(ncol(DadosMed),ncol(Dadosquali2))
#Calculando a media ponderada
DistMisto=MediaDistancia(dissimilaridades,n)
DistMisto
#>                    Arruba   Cambraia Cariruvermelha   Coquinha  Espanhola
#> Cambraia       0.44784038                                                
#> Cariruvermelha 0.62137298 0.38988736                                     
#> Coquinha       0.19938334 0.56561782     0.83692668                      
#> Espanhola      0.11251594 0.56437701     0.62767207 0.29614257           
#> Licuri         0.37228812 0.37048266     0.45478809 0.53998338 0.37638866
#> Palmas         0.44542087 0.66952651     0.71910793 0.65912197 0.44781930
#> Princesa       0.68704895 0.68766317     0.48901959 0.81153120 0.57494561
#> TCarro1        0.65189350 0.41233327     0.47974207 0.88888889 0.76997345
#> TCarro2        0.50042758 0.73296801     0.90727161 0.59893358 0.50091940
#>                    Licuri     Palmas   Princesa    TCarro1
#> Cambraia                                                  
#> Cariruvermelha                                            
#> Coquinha                                                  
#> Espanhola                                                 
#> Licuri                                                    
#> Palmas         0.58358742                                 
#> Princesa       0.70958440 0.68675915                      
#> TCarro1        0.62648640 0.75464494 0.70554673           
#> TCarro2        0.73598043 0.06915459 0.78707948 0.93454414

Obtendo Dendrograma para as 3 medidas de dissimilaridade

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 com o metodo UPGMA
Dendrograma(DistMaha,Metodo=3,Titulo="Dados quantiativos")

#> _________________________________________________________________________ 
#> Estimativa de correlacao cofenetica: 
#> [1] 0.7302818
#> Significancia da correlacao cofenetica pelo teste Mantel 
#> pvalor: 0.001 
#> Hipotese alternativa: A correlacao e maior que 0 
#> 
#> Criterio de Corte 
#>   k=1.25 
#> 9.215353 
#> 
#> Agrupamentos 
#>                Cluster
#> Arruba               1
#> Cambraia             1
#> Cariruvermelha       1
#> Coquinha             2
#> Espanhola            1
#> Licuri               1
#> Palmas               1
#> Princesa             1
#> TCarro1              1
#> TCarro2              2
#> _________________________________________________________________________
Dendrograma(Distquali,Metodo=3, Titulo="Dados qualitativos")

#> _________________________________________________________________________ 
#> Estimativa de correlacao cofenetica: 
#> [1] 0.8915022
#> Significancia da correlacao cofenetica pelo teste Mantel 
#> pvalor: 0.001 
#> Hipotese alternativa: A correlacao e maior que 0 
#> 
#> Criterio de Corte 
#>    k=1.25 
#> 0.9039087 
#> 
#> Agrupamentos 
#>                Cluster
#> Arruba               1
#> Cambraia             1
#> Cariruvermelha       1
#> Coquinha             1
#> Espanhola            1
#> Licuri               1
#> Palmas               1
#> Princesa             2
#> TCarro1              1
#> TCarro2              1
#> _________________________________________________________________________
Dendrograma(DistMisto,Metodo=3,Titulo= "Qualitativos + Quantiativos")

#> _________________________________________________________________________ 
#> Estimativa de correlacao cofenetica: 
#> [1] 0.788377
#> Significancia da correlacao cofenetica pelo teste Mantel 
#> pvalor: 0.001 
#> Hipotese alternativa: A correlacao e maior que 0 
#> 
#> Criterio de Corte 
#>    k=1.25 
#> 0.6697798 
#> 
#> Agrupamentos 
#>                Cluster
#> Arruba               1
#> Cambraia             2
#> Cariruvermelha       2
#> Coquinha             1
#> Espanhola            1
#> Licuri               2
#> Palmas               1
#> Princesa             2
#> TCarro1              2
#> TCarro2              1
#> _________________________________________________________________________

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

Tocher(DistMisto)

#> _________________________________________________________________________ 
#> Agrupamento Tocher 
#> Cluster1: 
#> Palmas TCarro2 Arruba Espanhola Coquinha 
#> 
#> Cluster2: 
#> Cambraia Licuri Cariruvermelha 
#> 
#> Cluster3: 
#> Princesa 
#> 
#> Cluster4: 
#> TCarro1 
#> 
#> Distancia intra e intercluster: 
#>           Cluster1  Cluster2  Cluster3  Cluster4
#> Cluster1 0.3829839 0.6200606 0.7094729 0.7999890
#> Cluster2 0.6200606 0.4050527 0.6287557 0.5061872
#> Cluster3 0.7094729 0.6287557 0.0000000 0.7055467
#> Cluster4 0.7999890 0.5061872 0.7055467 0.0000000
#> 
#> 
#> Correlacao Cofenetica: 0.7114534 
#> pvalor: 0.001 baseado no teste Mantel 
#> Hipotese alternativa: A correlacao e maior que 0 
#> _________________________________________________________________________

Estimativas de correção entre as medidas de dissimilaridade

CorrelacaoMantel(DistMaha,DistMisto)

#> Estimativa de correlacao:  0.5400622 
#> P-valor obtido pelo teste Mantel:  0.002 
#> Hipotese alternativa:  bilateral
CorrelacaoMantel(DistMaha,Distquali)

#> Estimativa de correlacao:  0.1649969 
#> P-valor obtido pelo teste Mantel:  0.365 
#> Hipotese alternativa:  bilateral
CorrelacaoMantel(Distquali,DistMisto)

#> Estimativa de correlacao:  0.9191985 
#> P-valor obtido pelo teste Mantel:  0.001 
#> Hipotese alternativa:  bilateral

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.