The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
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[@]metanet.ch.

Exemplo: Experimento em DBC

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.DBC")
head(Dados.DBC)
#>         Trat Bloco Altura    MS  Diam Ramificacoes1 Ramificacoes2 Infloresc
#> 1 Variedade1     1  74.00 14.43  7.87         24.67          6.33      8.67
#> 2 Variedade1     2  89.00 17.00  8.58         29.67          4.33      9.33
#> 3 Variedade1     3  82.00 20.13 10.60         27.33          7.33     12.00
#> 4 Variedade1     4  84.00 16.43  9.25         28.00          4.67      9.67
#> 5 Variedade1     5  70.33 17.67 10.86         23.44          6.00     11.33
#> 6 Variedade2     1  80.00 17.87  7.94         26.67          7.00     10.00
#>   P.Sementes Germinacao TeorOleo
#> 1       3.29          6 23.10165
#> 2       6.02          9 24.55870
#> 3       4.74          5 26.02185
#> 4       2.63          6 24.74041
#> 5       5.00         11 21.56860
#> 6       7.00          4 24.40737

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,Modelo=2)
Res
#> __________________________________________________________________________ 
#> MANOVA com o teste Pillai 
#>           Df           Pillai         approx F num Df den Df
#> Trat       8 3.41112687003393 2.56041879215572     72    248
#> Bloco      4 1.01952256443478 1.02620058679435     36    108
#> Residuals 32                                                
#>                         Pr(>F)
#> Trat      3.88033554581756e-08
#> Bloco        0.444201237736759
#> Residuals                     
#>   
#> MANOVA com o teste Wilks 
#>           Df               Wilks         approx F num Df           den Df
#> Trat       8 0.00224676346620771 3.67964225576572     72 153.565638439245
#> Bloco      4   0.283651652720517 1.01776238907217     36 91.6764243863006
#> Residuals 32                                                             
#>                         Pr(>F)
#> Trat      6.79854759058188e-12
#> Bloco        0.458726231922828
#> Residuals                     
#>   
#> MANOVA com o teste Hotelling 
#>           Df Hotelling-Lawley          approx F num Df den Df
#> Trat       8 14.4192295284348  4.45594245843992     72    178
#> Bloco      4 1.59818345907489 0.998864661921807     36     90
#> Residuals 32                                                 
#>                         Pr(>F)
#> Trat      3.24533729991487e-16
#> Bloco        0.485684435194678
#> Residuals                     
#>   
#> MANOVA com o teste Roy 
#>           Df              Roy         approx F num Df den Df
#> Trat       8 7.04048563648178 24.2505616367706      9     31
#> Bloco      4 0.79426617101982 2.38279851305946      9     27
#> Residuals 32                                                
#>                         Pr(>F)
#> Trat      1.21249826306718e-11
#> Bloco       0.0392110037699888
#> 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:

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.

#colocando nome nos individuos
DadosMed=Res$Med
Dist=Distancia(DadosMed,Metodo = 7,Cov = Res$CovarianciaResidual)
round(Dist$Distancia,3)
#>            Variedade1 Variedade2 Variedade3 Variedade4 Variedade5 Variedade6
#> Variedade2     11.660                                                       
#> Variedade3     28.788     10.998                                            
#> Variedade4     13.999     15.755     32.336                                 
#> Variedade5     27.438     12.888     21.119     19.604                      
#> Variedade6      4.952     23.056     42.768     11.126     41.850           
#> Variedade7     27.274     16.266     13.541     41.384     15.205     47.267
#> Variedade8     34.033     22.028     36.735     18.543     23.392     33.879
#> Variedade9     18.909      8.612     14.809     28.479      9.651     35.785
#>            Variedade7 Variedade8
#> Variedade2                      
#> Variedade3                      
#> Variedade4                      
#> Variedade5                      
#> Variedade6                      
#> Variedade7                      
#> Variedade8     36.001           
#> Variedade9      3.658     26.759

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
#> Variedade1 20.88   4.95  34.03 10.07  Variedade6   Variedade8
#> Variedade2 15.16   8.61  23.06  5.19  Variedade9   Variedade6
#> Variedade3 25.14  11.00  42.77 11.76  Variedade2   Variedade6
#> Variedade4 22.65  11.13  41.38 10.42  Variedade6   Variedade7
#> Variedade5 21.39   9.65  41.85 10.08  Variedade9   Variedade6
#> Variedade6 30.09   4.95  47.27 15.50  Variedade1   Variedade7
#> Variedade7 25.07   3.66  47.27 15.35  Variedade9   Variedade6
#> Variedade8 28.92  18.54  36.74  7.09  Variedade4   Variedade3
#> Variedade9 18.33   3.66  35.78 11.19  Variedade7   Variedade6
#> 
#> Menor Distancia: 3.657931 
#> Maior Distancia: 47.26671 
#> Media das Distancias: 23.07077 
#> Amplitude das Distancias: 43.60877 
#> Desvio Padrao das Distancias: 11.57168 
#> Coeficiente de variacao das Distancias: 50.15731 
#> Individuos mais proximos: Variedade7 Variedade9 
#> Individuos mais distantes: Variedade6 Variedade7 
#> _________________________________________________________________________

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(Dist,Metodo=3)

#> _________________________________________________________________________ 
#> Estimativa de correlacao cofenetica: 
#> [1] 0.7485545
#> Significancia da correlacao cofenetica pelo teste Mantel 
#> pvalor: 0.001 
#> Hipotese alternativa: A correlacao e maior que 0 
#> 
#> Criterio de Corte 
#>  k=1.25 
#> 26.7541 
#> 
#> Agrupamentos 
#>            Cluster
#> Variedade1       1
#> Variedade2       2
#> Variedade3       2
#> Variedade4       1
#> Variedade5       2
#> Variedade6       1
#> Variedade7       2
#> Variedade8       3
#> Variedade9       2
#> _________________________________________________________________________

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

#Dendrograma com o metodo UPGMA
Tocher(Dist)

#> _________________________________________________________________________ 
#> Agrupamento Tocher 
#> Cluster1: 
#> Variedade7 Variedade9 Variedade5 Variedade2 Variedade3 
#> 
#> Cluster2: 
#> Variedade1 Variedade6 Variedade4 
#> 
#> Cluster3: 
#> Variedade8 
#> 
#> Distancia intra e intercluster: 
#>          Cluster1 Cluster2 Cluster3
#> Cluster1 12.67463 29.49025 28.98313
#> Cluster2 29.49025 10.02584 28.81815
#> Cluster3 28.98313 28.81815  0.00000
#> 
#> 
#> Correlacao Cofenetica: 0.7279256 
#> pvalor: 0.004 baseado no teste Mantel 
#> Hipotese alternativa: A correlacao e maior que 0 
#> _________________________________________________________________________

###Outra possibilidade é o estudo dos componentes principais:

ComponentesPrincipais(DadosMed,padronizar = TRUE)

#> $`Autovalor da matriz de covariancia`
#> [1] 4.6673 2.1446 1.2643 0.5185 0.2047 0.1669 0.0238 0.0098 0.0000
#> 
#> $`Autovetor da matriz de covariancia`
#>          [,1]    [,2]    [,3]    [,4]    [,5]    [,6]    [,7]    [,8]    [,9]
#>  [1,] -0.3349  0.3823 -0.2001 -0.3611 -0.4281 -0.1438  0.3823  0.2176  0.4169
#>  [2,] -0.4045 -0.1715 -0.1144  0.3121  0.6123 -0.3986  0.3558  0.0673  0.1776
#>  [3,] -0.3320 -0.3749 -0.1491 -0.4508  0.1210  0.5160  0.3397 -0.2272 -0.2754
#>  [4,] -0.2637  0.4996 -0.2116 -0.3148  0.2703 -0.2694 -0.3985 -0.3815 -0.2951
#>  [5,]  0.3409 -0.3744 -0.3008 -0.2426 -0.0076 -0.2344 -0.0911 -0.5078  0.5226
#>  [6,]  0.3946 -0.1801 -0.2902 -0.3517  0.0453 -0.4234  0.1607  0.4482 -0.4426
#>  [7,]  0.3767  0.3729 -0.0016  0.2294 -0.0303 -0.0184  0.6350 -0.4621 -0.2199
#>  [8,]  0.1141  0.0444  0.7960 -0.4713  0.2663 -0.1525  0.1243 -0.0148  0.1395
#>  [9,]  0.3429  0.3473 -0.2674 -0.1124  0.5293  0.4730 -0.0179  0.2803  0.3081
#> 
#> $`Escores dos componentes principais`
#>               [,1]    [,2]    [,3]    [,4]    [,5]    [,6]    [,7]    [,8] [,9]
#> Variedade1 -1.3523 -1.6250  0.6574 -0.4684 -0.1801 -0.1322 -0.2428  0.1398    0
#> Variedade2  0.2650 -0.9987 -0.4955  0.6115 -0.3303 -0.7992  0.1790  0.0099    0
#> Variedade3 -0.5878  0.2284  0.1220  1.6153  0.4659  0.1844 -0.1272 -0.0162    0
#> Variedade4 -0.1723 -0.8748 -1.3782 -0.1515  0.1346  0.6242  0.1929  0.1095    0
#> Variedade5  3.6273 -0.2689 -1.4413 -0.4755  0.1051 -0.0607 -0.1662 -0.0964    0
#> Variedade6 -3.2585 -1.0656  0.3857 -0.5407  0.1604  0.0783  0.0540 -0.1813    0
#> Variedade7  1.4232  1.2448  1.3803 -0.5637  0.7459 -0.2466  0.1044  0.0538    0
#> Variedade8 -2.1243  3.1462 -0.8592 -0.2212 -0.3769 -0.0716 -0.0465  0.0186    0
#> Variedade9  2.1797  0.2137  1.6288  0.1942 -0.7247  0.4235  0.0523 -0.0378    0
#> 
#> $`Correlacao entre as variaveis e os comp. principais`
#>                  [,1]    [,2]    [,3]    [,4]    [,5]    [,6]    [,7]    [,8]
#> Altura        -0.7234  0.5599 -0.2250 -0.2600 -0.1937 -0.0588  0.0590  0.0216
#> MS            -0.8738 -0.2511 -0.1286  0.2247  0.2770 -0.1628  0.0549  0.0067
#> Diam          -0.7172 -0.5490 -0.1676 -0.3246  0.0548  0.2108  0.0524 -0.0225
#> Ramificacoes1 -0.5696  0.7316 -0.2380 -0.2267  0.1223 -0.1101 -0.0615 -0.0378
#> Ramificacoes2  0.7366 -0.5483 -0.3382 -0.1747 -0.0034 -0.0958 -0.0141 -0.0504
#> Infloresc      0.8526 -0.2638 -0.3263 -0.2532  0.0205 -0.1730  0.0248  0.0445
#> P.Sementes     0.8139  0.5461 -0.0018  0.1652 -0.0137 -0.0075  0.0980 -0.0458
#> Germinacao     0.2465  0.0650  0.8951 -0.3393  0.1205 -0.0623  0.0192 -0.0015
#> TeorOleo       0.7409  0.5086 -0.3007 -0.0809  0.2394  0.1932 -0.0028  0.0278
#>                  [,9]
#> Altura        -0.0789
#> MS            -0.1333
#> Diam          -0.1947
#> Ramificacoes1 -0.0114
#> Ramificacoes2  0.0325
#> Infloresc      0.1854
#> P.Sementes     0.3489
#> Germinacao     0.1884
#> TeorOleo       0.3735
#> 
#> $`Explicacao dos componentes principais`
#>                           [,1]    [,2]    [,3]    [,4]    [,5]    [,6]    [,7]
#> Autovalor               4.6673  2.1446  1.2643  0.5185  0.2047  0.1669  0.0238
#> % Explicacao           51.8592 23.8290 14.0482  5.7612  2.2739  1.8542  0.2649
#> % Explicacao Acumulada 51.8592 75.6882 89.7364 95.4976 97.7716 99.6257 99.8906
#>                            [,8] [,9]
#> Autovalor                0.0098    0
#> % Explicacao             0.1094    0
#> % Explicacao Acumulada 100.0000  100
#> 
#> attr(,"class")
#> [1] "ComponentesPrincipais"

###Porém, quando se tem repetições, o mais indicado é o estudo de variáveis canônicas:

Para isso, deve-se indicar qual é o Modelo referente ao delineamento:

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

VariaveisCanonicas(Dados.DBC,Modelo = 2,)

#> [1] "a"
#> __________________________________________________________________ 
#> Estudo das variaveis canonicas 
#> 
#> Explicacao das variaveis canonicas 
#>     CanRsq Autovalor Porcentagem PorcentagemAcumulada
#> VC1 0.8756    7.0405     48.8271              48.8271
#> VC2 0.7799    3.5429     24.5708              73.3979
#> VC3 0.6219    1.6445     11.4048              84.8027
#> VC4 0.5861    1.4160      9.8203              94.6229
#> VC5 0.3631    0.5701      3.9537              98.5766
#> VC6 0.1265    0.1448      1.0041              99.5807
#> VC7 0.0458    0.0480      0.3332              99.9138
#> VC8 0.0123    0.0124      0.0862             100.0000
#> 
#> Escores das variaveis canonicas 
#>               Can1    Can2    Can3    Can4    Can5    Can6    Can7    Can8
#> Variedade1 -1.9220  1.9665  0.7113  0.0915  0.2706  0.3454 -0.0806  0.1822
#> Variedade2  0.3394  0.3677 -0.7531 -0.1462  1.5286  0.0764  0.1822 -0.0743
#> Variedade3  2.1634  0.9320 -2.4979  0.2026 -0.4863  0.0084 -0.1527  0.0262
#> Variedade4 -2.5448 -1.0317 -0.5459 -1.2742 -0.4535 -0.3795  0.2576  0.0708
#> Variedade5  1.5205 -1.3708  0.7359 -1.9637 -0.1280  0.3503 -0.1783 -0.0546
#> Variedade6 -3.7660  1.3411  0.2066  0.4908 -0.4275 -0.0175 -0.1064 -0.1731
#> Variedade7  3.0204  0.8747  0.9996  0.7279 -0.6974  0.1760  0.3149 -0.0281
#> Variedade8 -0.7784 -3.4833 -0.0100  1.6393  0.0669  0.1367 -0.0561  0.0311
#> Variedade9  1.9673  0.4037  1.1536  0.2320  0.3266 -0.6962 -0.1807  0.0198
#> 
#> Importancia 
#> Correlacao das caracteristicas com os escores das variaveis canonicas 
#>              Can1    Can2  Altura      MS    Diam Ramificacoes1 Ramificacoes2
#> P.Sementes 0.8577 -0.4350 -0.3177 -0.8085 -0.9331       -0.1062        0.2735
#> Germinacao 0.3916  0.5167 -0.2737 -0.3785 -0.2578       -0.2084       -0.0922
#> TeorOleo   0.6211 -0.5821 -0.2198 -0.7197 -0.6809        0.0471        0.3620
#>            Infloresc
#> P.Sementes    0.5100
#> Germinacao    0.0005
#> TeorOleo      0.5888
#> __________________________________________________________________

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.