Exemplo: esquema fatorial no 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.Fat2.DBC")
head(Dados.Fat2.DBC)
#>   FAemb. FBtemp Rep Germ9 Germ5pn GM9pn GM9pa  UMID   IVG
#> 1     E1     90   1    92      32    40    52 10.51 10.92
#> 2     E2     90   1    92      48    56    36 10.48 10.42
#> 3     E3     90   1    92      40    48    48 11.45 11.00
#> 4     E4     90   1    88      52    64    32 10.93 10.42
#> 5     E5     90   1    88      40    52    40 10.58 10.33
#> 6     E6     90   1    96      52    56    40 13.50 12.00

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.Fat2.DBC,Modelo=5)
Res
#> __________________________________________________________________________ 
#> MANOVA com o teste Pillai 
#>               Df            Pillai         approx F num Df den Df
#> FatorA         5  1.38567191384126 4.34500723670916     30    340
#> FatorB         3  1.61506974111905 12.8279146465213     18    198
#> Bloco          3 0.283747716435623 1.14909240930156     18    198
#> FatorA:FatorB 15  2.60997171266997 3.54152498465953     90    414
#> Residuals     69                                                 
#>                             Pr(>F)
#> FatorA        7.69578454816936e-12
#> FatorB         1.4408706225226e-24
#> Bloco            0.307795399091048
#> FatorA:FatorB 2.12066700979853e-18
#> Residuals                         
#>   
#> MANOVA com o teste Wilks 
#>               Df              Wilks         approx F num Df           den Df
#> FatorA         5 0.0660773486619989 8.36232183583444     30              258
#> FatorB         3 0.0355105470437555   22.73661157558     18 181.504617357995
#> Bloco          3  0.729510797377149 1.18944295355249     18 181.504617357995
#> FatorA:FatorB 15 0.0112233707025844 4.97629080560899     90 366.523598590873
#> Residuals     69                                                            
#>                             Pr(>F)
#> FatorA        4.42318578502632e-24
#> FatorB        2.83964120237213e-37
#> Bloco            0.273680895339913
#> FatorA:FatorB 2.83226079131227e-28
#> Residuals                         
#>   
#> MANOVA com o teste Hotelling 
#>               Df  Hotelling-Lawley         approx F num Df den Df
#> FatorA         5  7.70792434537239 16.0324826383746     30    312
#> FatorB         3  11.8198789958883 41.1506898375371     18    188
#> Bloco          3 0.352778433490539 1.22819158326336     18    188
#> FatorA:FatorB 15  10.8012525728159 7.48086752265397     90    374
#> Residuals     69                                                 
#>                             Pr(>F)
#> FatorA        6.86282254581754e-47
#> FatorB        2.26220194695508e-55
#> Bloco             0.24213213785258
#> FatorA:FatorB 4.63145836964843e-45
#> Residuals                         
#>   
#> MANOVA com o teste Roy 
#>               Df               Roy         approx F num Df den Df
#> FatorA         5  6.83546069933376 77.4685545924493      6     68
#> FatorB         3  10.6896240434465 117.585864477912      6     66
#> Bloco          3 0.294133778212201 3.23547156033421      6     66
#> FatorA:FatorB 15  7.35788643192169 33.8462775868398     15     69
#> Residuals     69                                                 
#>                             Pr(>F)
#> FatorA        1.93278235492605e-28
#> FatorB        2.89609270159161e-33
#> Bloco          0.00755940161343434
#> FatorA:FatorB 7.08733364292308e-26
#> 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.

#Carregando a média dos tratamentos
DadosMed=Res$Med
head(DadosMed)
#>        Germ9 Germ5pn GM9pn GM9pa    UMID     IVG
#> E1:90     88      33    45    41 10.5700 10.1750
#> E1:180    98      84    87    12 10.9650  9.9725
#> E1:270    88      43    50    43 10.7725 10.2375
#> E1:360    89       7    16    73 10.9250 10.4525
#> E2:90     90      50    60    34 10.4925 10.5650
#> E2:180    95      83    88    12 10.4175 10.0075
Dist=Distancia(DadosMed,Metodo = 7,Cov = Res$CovarianciaResidual)

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
#> E1:90   28.30   2.70 231.84 46.54       E3:90       E6:270
#> E1:180  36.66   2.06 182.27 43.45      E3:180       E6:270
#> E1:270  26.46   3.89 207.65 41.75       E3:90       E6:270
#> E1:360  44.89   8.21 244.36 47.79      E4:360       E6:270
#> E2:90   28.33   0.45 234.07 48.86       E4:90       E6:270
#> E2:180  37.96   0.67 211.56 49.22      E5:180       E6:270
#> E2:270  28.60   2.25 215.80 45.90      E5:270       E6:270
#> E2:360  49.13   3.88 311.70 61.54      E3:360       E6:270
#> E3:90   25.92   2.70 192.82 39.40       E1:90       E6:270
#> E3:180  31.27   2.06 155.45 38.32      E1:180       E6:270
#> E3:270  25.99   1.02 205.55 44.20       E5:90       E6:270
#> E3:360  35.08   3.88 273.13 54.47      E2:360       E6:270
#> E4:90   27.43   0.45 216.65 45.91       E2:90       E6:270
#> E4:180  37.06   6.78 121.63 31.44      E3:180       E6:360
#> E4:270  24.46   1.96 207.83 43.93      E3:270       E6:270
#> E4:360  65.57   8.21 252.15 48.05      E1:360       E6:270
#> E5:90   25.75   1.02 215.52 45.51      E3:270       E6:270
#> E5:180  35.49   0.67 210.98 48.70      E2:180       E6:270
#> E5:270  29.16   2.25 200.05 44.85      E2:270       E6:270
#> E5:360  38.99   7.96 297.82 60.16      E2:270       E6:270
#> E6:90   46.01  17.81 130.50 26.47       E3:90       E6:270
#> E6:180  51.39  11.56 161.08 35.11      E4:180       E6:360
#> E6:270 216.26  95.75 369.04 61.72      E6:180       E6:360
#> E6:360  95.70  34.05 369.04 67.72      E2:360       E6:270
#> 
#> Menor Distancia: 0.4476989 
#> Maior Distancia: 369.0362 
#> Media das Distancias: 45.49358 
#> Amplitude das Distancias: 368.5885 
#> Desvio Padrao das Distancias: 60.77122 
#> Coeficiente de variacao das Distancias: 133.582 
#> Individuos mais proximos: E2:90 E4:90 
#> Individuos mais distantes: E6:270 E6:360 
#> _________________________________________________________________________

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

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

To=Tocher(Dist)

To$Tocher
#> $`cluster 1`
#>  [1] E2:90  E4:90  E4:270 E5:90  E3:270 E5:270 E2:270 E5:180 E2:180 E3:180
#> [11] E1:180 E1:270 E3:90  E1:90  E5:360 E3:360 E4:180 E2:360 E1:360 E6:90 
#> [21] E6:180 E4:360 E6:360
#> 
#> $`cluster 2`
#> [1] E6:270

Outra possibilidade é o estudo dos componentes principais:

CP=ComponentesPrincipais(DadosMed,padronizar = TRUE)

### 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

VC=VariaveisCanonicas(Dados.Fat2.DBC,Modelo = 5,Fator = "A:B")

#> [1] "a"
VC
#> __________________________________________________________________ 
#> Estudo das variaveis canonicas 
#> 
#> Explicacao das variaveis canonicas 
#>     CanRsq Autovalor Porcentagem PorcentagemAcumulada
#> VC1 0.9472   17.9326     59.1268              59.1268
#> VC2 0.8986    8.8665     29.2342              88.3610
#> VC3 0.6685    2.0166      6.6491              95.0101
#> VC4 0.4153    0.7104      2.3424              97.3524
#> VC5 0.3716    0.5913      1.9496              99.3021
#> VC6 0.1747    0.2117      0.6979             100.0000
#> 
#> Escores das variaveis canonicas 
#>            Can1    Can2    Can3    Can4    Can5    Can6
#> E1:180  -1.4654  2.8846 -1.4562  0.8070 -0.0224  0.3080
#> E1:270   0.7661 -0.2808  0.2903 -1.5566  0.0968 -0.6158
#> E1:360   2.6463 -3.5730  0.9152  0.2667  0.4389 -0.5898
#> E1:90    1.7377 -0.5884  0.8477 -0.4182  0.6153  0.8250
#> E2:180  -0.7372  3.6788 -0.6842  0.0058  0.1615  0.0815
#> E2:270   0.3761  1.9116 -0.7116  0.9181 -0.5818 -0.3564
#> E2:360   4.5298 -1.5635  0.4726  0.6651  1.1841 -0.5001
#> E2:90    1.0842  1.2902  1.4345 -0.5865  0.2592  0.1993
#> E3:180  -1.9981  1.7863 -0.9216  0.3700  0.0405  0.0103
#> E3:270   0.0796  1.3954  0.6244  0.3316 -0.6977 -0.4085
#> E3:360   3.2466 -0.7166  0.0354  0.8473  0.2042  0.0714
#> E3:90    0.2289 -0.6098  1.3213 -0.6329  0.2762  0.6271
#> E4:180  -3.4192  0.2450 -0.6247 -0.8917  0.8761  0.0925
#> E4:270   0.4811  0.9443  0.3613  0.2377  0.5239 -0.2461
#> E4:360   2.9004 -5.5002  0.0556  1.2259 -0.5320  0.7620
#> E4:90    0.4749  1.2149  1.4092 -0.7102  0.4896  0.2416
#> E5:180  -0.6602  3.3933 -0.2000 -0.1789 -0.3809  0.2076
#> E5:270  -0.3904  2.3259 -0.4290  0.3441  0.4539 -0.2688
#> E5:360   3.0904  2.2444 -0.6518  0.6960 -0.1952  0.1695
#> E5:90    0.5295  1.3961  0.0536 -0.3591 -0.6451 -0.3243
#> E6:180  -4.8202  0.0126  1.0246 -0.4872 -1.7018  0.1876
#> E6:270 -12.7699 -4.4290 -1.4508  0.3031  0.7485 -0.0665
#> E6:360   6.1655 -3.9114 -3.7731 -1.3958 -0.6433 -0.0036
#> E6:90   -2.0763 -3.5507  2.0570  0.1988 -0.9685 -0.4038
#> 
#> Importancia 
#> Correlacao das caracteristicas com os escores das variaveis canonicas 
#>         Can1    Can2  Germ9 Germ5pn  GM9pn   GM9pa
#> UMID -0.9261 -0.3548 0.2223  0.3223 0.3313 -0.3013
#> IVG  -0.1186 -0.0623 0.4305  0.0323 0.0093  0.0677
#> __________________________________________________________________

Se a interação tivesse sido não significativa, uma boa opção seria fazer a dispersão gráfica das variáveis canônicas apenas para os efeitos principais.

VC=VariaveisCanonicas(Dados.Fat2.DBC,Modelo = 5,Fator = "A")

#> [1] "a"
VC
#> __________________________________________________________________ 
#> Estudo das variaveis canonicas 
#> 
#> Explicacao das variaveis canonicas 
#>     CanRsq Autovalor Porcentagem PorcentagemAcumulada
#> VC1 0.8724    6.8355     88.6810              88.6810
#> VC2 0.4449    0.8016     10.3995              99.0804
#> VC3 0.0464    0.0486      0.6308              99.7112
#> VC4 0.0138    0.0140      0.1816              99.8928
#> VC5 0.0082    0.0083      0.1072             100.0000
#> 
#> Escores das variaveis canonicas 
#>       Can1    Can2    Can3    Can4    Can5
#> E1 -0.3538  0.9669 -0.2971  0.0076  0.0698
#> E2 -1.9025  0.0641 -0.0056  0.1375 -0.1188
#> E3 -0.6313  0.0048  0.2836  0.0743  0.1108
#> E4  0.4387  0.7834  0.1685 -0.1563 -0.0623
#> E5 -2.1029 -1.2628 -0.1006 -0.1002  0.0160
#> E6  4.5519 -0.5563 -0.0488  0.0371 -0.0155
#> 
#> Importancia 
#> Correlacao das caracteristicas com os escores das variaveis canonicas 
#>         Can1    Can2   Germ9 Germ5pn   GM9pn
#> GM9pa 0.5457  0.8236 -0.7720 -0.9802 -0.9919
#> UMID  0.9955 -0.0838  0.1067 -0.3624 -0.5330
#> IVG   0.7069 -0.5395  0.6397  0.1800  0.0049
#> __________________________________________________________________
VC=VariaveisCanonicas(Dados.Fat2.DBC,Modelo = 5,Fator = "B")

#> [1] "a"
VC
#> __________________________________________________________________ 
#> Estudo das variaveis canonicas 
#> 
#> Explicacao das variaveis canonicas 
#>     CanRsq Autovalor Porcentagem PorcentagemAcumulada
#> VC1 0.9145   10.6896     90.4377              90.4377
#> VC2 0.4339    0.7666      6.4858              96.9234
#> VC3 0.2667    0.3636      3.0766             100.0000
#> 
#> Escores das variaveis canonicas 
#>        Can1    Can2    Can3
#> 90   0.3364 -1.2771  0.0813
#> 180 -2.9055  0.4611  0.6294
#> 270 -1.7877  0.2907 -0.7971
#> 360  4.3568  0.5253  0.0864
#> 
#> Importancia 
#> Correlacao das caracteristicas com os escores das variaveis canonicas 
#>            Can1    Can2   Germ9
#> Germ5pn -0.9886  0.1011  0.8630
#> GM9pn   -0.9930  0.0362  0.8285
#> GM9pa    0.9813 -0.0275 -0.8240
#> UMID    -0.9554 -0.1414  0.6460
#> IVG     -0.2219 -0.9717 -0.3840
#> __________________________________________________________________