Exemplo: esquema fatorial no DBC

Alcinei Mistico Azevedo (ICA-UFMG)

2021-08-04

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
#> $Manova$Teste_Pillai
#>               Df    Pillai  approx F num Df den Df       Pr(>F)
#> FatorA         5 1.3856719  4.345007     30    340 7.695785e-12
#> FatorB         3 1.6150697 12.827915     18    198 1.440871e-24
#> Bloco          3 0.2837477  1.149092     18    198 3.077954e-01
#> FatorA:FatorB 15 2.6099717  3.541525     90    414 2.120667e-18
#> Residuals     69        NA        NA     NA     NA           NA
#> 
#> $Manova$Teste_Wilks
#>               Df      Wilks  approx F num Df   den Df       Pr(>F)
#> FatorA         5 0.06607735  8.362322     30 258.0000 4.423186e-24
#> FatorB         3 0.03551055 22.736612     18 181.5046 2.839641e-37
#> Bloco          3 0.72951080  1.189443     18 181.5046 2.736809e-01
#> FatorA:FatorB 15 0.01122337  4.976291     90 366.5236 2.832261e-28
#> Residuals     69         NA        NA     NA       NA           NA
#> 
#> $Manova$Teste_HotellingL
#>               Df Hotelling-Lawley  approx F num Df den Df       Pr(>F)
#> FatorA         5        7.7079243 16.032483     30    312 6.862823e-47
#> FatorB         3       11.8198790 41.150690     18    188 2.262202e-55
#> Bloco          3        0.3527784  1.228192     18    188 2.421321e-01
#> FatorA:FatorB 15       10.8012526  7.480868     90    374 4.631458e-45
#> Residuals     69               NA        NA     NA     NA           NA
#> 
#> $Manova$Teste_Roy
#>               Df        Roy   approx F num Df den Df       Pr(>F)
#> FatorA         5  6.8354607  77.468555      6     68 1.932782e-28
#> FatorB         3 10.6896240 117.585864      6     66 2.896093e-33
#> Bloco          3  0.2941338   3.235472      6     66 7.559402e-03
#> FatorA:FatorB 15  7.3578864  33.846278     15     69 7.087334e-26
#> Residuals     69         NA         NA     NA     NA           NA
#> 
#> 
#> $CovarianciaResidual
#>              Germ9    Germ5pn       GM9pn       GM9pa       UMID       IVG
#> Germ9   21.4685990  27.719807   9.7391304  -0.5217391  0.7013768 2.3056039
#> Germ5pn 27.7198068 114.270531  86.6570048 -70.6135266  0.6296280 2.2708696
#> GM9pn    9.7391304  86.657005  81.6038647 -77.2270531  0.3502222 0.2571014
#> GM9pa   -0.5217391 -70.613527 -77.2270531 113.7705314 -0.2478853 0.6775362
#> UMID     0.7013768   0.629628   0.3502222  -0.2478853  0.3984344 0.1727898
#> IVG      2.3056039   2.270870   0.2571014   0.6775362  0.1727898 0.4690457
#> 
#> $GLres
#> [1] 69
#> 
#> $Med
#>        Germ9 Germ5pn GM9pn GM9pa     UMID     IVG
#> E1:90     88      33    45    41 10.57000 10.1750
#> E1:180    98      84    87    12 10.96500  9.9725
#> E1:270    88      43    50    43 10.77250 10.2375
#> E1:360    89       7    16    73 10.92500 10.4525
#> E2:90     90      50    60    34 10.49250 10.5650
#> E2:180    95      83    88    12 10.41750 10.0075
#> E2:270    99      69    70    30 10.49250 10.5600
#> E2:360    88      11    22    68  9.26000  9.8475
#> E3:90     89      40    51    38 11.44750 10.5400
#> E3:180    96      76    80    19 11.57000 10.0950
#> E3:270    97      63    66    34 11.00000 11.0100
#> E3:360    93      30    37    53  9.80325 10.2975
#> E4:90     89      51    62    32 10.77250 10.4175
#> E4:180    89      65    74    21 12.54250  9.6000
#> E4:270    92      52    60    37 10.68250 10.1850
#> E4:360    94       0     6    73 11.48750 10.8300
#> E5:90     95      62    65    32 10.61500 10.7050
#> E5:180    96      82    86    13 10.62750 10.4625
#> E5:270    94      69    75    25 10.61500  9.9800
#> E5:360    96      57    61    33  9.00275 10.2525
#> E6:90     95      33    38    57 13.74000 11.7275
#> E6:180    99      79    80    19 14.06250 11.7300
#> E6:270    94      76    82    18 18.48250  9.7850
#> E6:360    89       7     7    66  8.47650  9.3050

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

A fim de resumir as informações da matriz de dissimilaridade a fim de melhorar a visualização da dissimilaridade, pode-se fazer um dendograma com o auxilio da função dendograma. Varios algoritimos podem ser utilizados para a construção deste dendograma. 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).

#Dendograma com o metodo UPGMA
Dendo=Dendograma(Dist,Metodo=3)

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

To=Tocher(Dist)

To$Tocher
#> [[1]]
#> [[1]]$`cluster 1`
#>  [1] E2:180 E5:180 E1:180 E5:270 E3:180 E2:270 E3:270 E5:90  E4:90  E4:270
#> [11] E2:90  E1:270 E3:90  E1:90  E5:360 E3:360 E4:180 E1:360 E6:90  E2:360
#> [21] E6:180 E4:360 E6:360
#> 
#> [[1]]$`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")

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")

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