Aula 5.22

Teste de Mantel - teste de permutação

Objetivo: Realizar o Teste de Mantel para comparar duas matrizes de distância, sendo uma a matriz de distâncias das variáveis espécies através do método Jaccard e a outra da matriz de distâncias das variáveis ambientais através do método euclidiano. Este teste calcula a correlação entre as duas matrizes (correlação de Pearson). O detalhe é que este teste faz inúmeras permutações nos valores das duas matrizes e calcula o valor de R(correlação) em cada uma permutação de matrizes. Após isso, busca o valor de R(correlação) real dos dados e faz um teste estatístico buscando comparar o R real dos dados com todos os R originados das inúmeras permutações. Isto busca saber se o valor de R(correlação) realmente existe, ou pode ser resultado simplesmente do acaso.

Este material está disponível em: http://rpubs.com/leonardoreffatti.

Teste de Mantel para comparar duas matrizes de distância. Sendo uma a matriz de distância da composição de espécies pelo método Jaccard (Presença/Ausência) e a outra a matriz de distâncias das variáveis ambientais padronizadas pelo método Euclidiano.Definição das variáveis espécies e definição das variáveis ambientais, criação da matriz de distâncias pelo método Jaccard nas variáveis espécie e da matriz de distâncias pelo método euclidiano nas variáveis ambientais padronizadas.Execução do teste de mantel, com 10.000 permutações das matrizes.

library(permute)
library(lattice)
library(vegan)
## This is vegan 2.5-2
setwd("C:/R/Curso do R/MODULO_5.2")
#inserindo os nomes das UAs, argumento row.names
dados<-read.table("insetos.txt", h=T, row.names = 1)
attach(dados)
str(dados)
## 'data.frame':    30 obs. of  40 variables:
##  $ Ambiente   : Factor w/ 2 levels "Mata_Primária",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Gado       : Factor w/ 2 levels "Ausente","Presente": 2 1 2 2 2 1 1 1 2 2 ...
##  $ Temperatura: num  21.8 21.3 23.8 23.2 21.5 21.7 20.3 19.7 24.7 20.2 ...
##  $ Cobertura  : int  73 62 57 49 59 78 64 74 48 75 ...
##  $ Luz        : num  53.5 61 71.5 69.5 61.5 53 58 56 71 60.5 ...
##  $ Flores     : int  14 28 17 29 15 24 21 29 20 5 ...
##  $ sp.1       : int  4 5 1 3 5 1 1 0 6 3 ...
##  $ sp.2       : int  0 0 0 0 0 0 3 1 4 0 ...
##  $ sp.3       : int  7 3 2 6 7 2 2 1 8 3 ...
##  $ sp.4       : int  2 7 0 4 2 4 5 3 3 1 ...
##  $ sp.5       : int  0 2 2 1 1 0 3 4 0 0 ...
##  $ sp.6       : int  0 5 2 14 4 3 3 9 8 0 ...
##  $ sp.7       : int  3 2 3 2 1 4 3 2 1 3 ...
##  $ sp.8       : int  2 4 3 5 2 3 0 0 1 0 ...
##  $ sp.9       : int  1 2 0 0 0 0 2 0 1 0 ...
##  $ sp.10      : int  1 3 5 2 1 1 0 0 1 1 ...
##  $ sp.11      : int  0 0 0 4 0 2 0 2 0 0 ...
##  $ sp.12      : int  1 5 0 2 0 2 4 5 0 0 ...
##  $ sp.13      : int  3 6 0 3 3 2 3 1 4 2 ...
##  $ sp.14      : int  3 4 2 10 5 2 2 5 8 0 ...
##  $ sp.15      : int  0 0 0 0 1 0 0 0 1 0 ...
##  $ sp.16      : int  3 3 0 2 0 0 3 0 1 0 ...
##  $ sp.17      : int  0 0 0 1 0 0 0 0 0 0 ...
##  $ sp.18      : int  0 1 2 3 1 3 0 0 2 0 ...
##  $ sp.19      : int  0 0 2 2 3 0 0 2 0 1 ...
##  $ sp.20      : int  0 3 0 0 0 4 0 2 0 0 ...
##  $ sp.21      : int  0 1 3 4 2 1 3 3 3 2 ...
##  $ sp.22      : int  1 2 1 2 2 2 1 2 2 2 ...
##  $ sp.23      : int  1 0 1 2 1 1 2 1 2 1 ...
##  $ sp.24      : int  1 1 0 2 1 2 0 1 1 1 ...
##  $ sp.25      : int  0 1 0 2 0 1 1 0 0 1 ...
##  $ sp.26      : int  2 2 1 0 1 1 2 1 1 1 ...
##  $ sp.27      : int  0 0 0 0 0 0 3 0 0 0 ...
##  $ sp.28      : int  1 0 0 0 0 0 0 0 0 2 ...
##  $ sp.29      : int  0 0 0 0 1 0 0 0 0 0 ...
##  $ sp.30      : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ sp.31      : int  0 5 0 0 0 0 1 0 0 0 ...
##  $ sp.32      : int  1 1 1 0 1 1 1 0 1 1 ...
##  $ sp.33      : int  0 0 0 0 1 0 0 0 1 0 ...
##  $ sp.34      : int  0 0 0 0 1 0 0 0 0 0 ...
especies <- dados[,7:40]
ambiente <- dados[,3:6]
ambiente.pad <- decostand(ambiente, method = "standardize")
#binary = TRUE, considerar dados presença e ausência
dist.jac <- vegdist(especies, method = "jaccard", binary = TRUE)
dist.amb.pad <- vegdist(ambiente.pad, method = "euclid")
mantel(dist.amb.pad, dist.jac, permutations = 10000)
## 
## Mantel statistic based on Pearson's product-moment correlation 
## 
## Call:
## mantel(xdis = dist.amb.pad, ydis = dist.jac, permutations = 10000) 
## 
## Mantel statistic r: 0.4921 
##       Significance: 9.999e-05 
## 
## Upper quantiles of permutations (null model):
##    90%    95%  97.5%    99% 
## 0.0844 0.1126 0.1359 0.1612 
## Permutation: free
## Number of permutations: 10000
#Mantel statistic r: 0.4921, aproximadamente 50% de toda a variação de dados em uma matriz é explicado pela outra.
#Significance: 9.999e-05, este é o valor de p baseado nas permutações.