###########################
library("tinytex", lib.loc="~/R/win-library/3.4") #PARA IMPRIMIR RELATORIO EM PDF
## Warning: package 'tinytex' was built under R version 3.4.4
###########################


########################################################
###Começamos estabelecendo uma pasta, lendo os dados e conferindo:

setwd("c:/R") #É o endereço no Dell da Adriana

#Se preferir, troque o comando por: setwd(choose.dir())
#E escolha a pasta onde estão todos os arquivos que acompanham este script
dados<-read.table("Exemplo_Dell_R_Adriana.txt", h=T, row.names=1)
attach(dados)

#Conferindo rapidamente os dados:
summary(dados)
##         Estado     Latitude         Longitude       Temperatura   
##  Alagoas   :4   Min.   :-12.100   Min.   :-38.40   Min.   :18.20  
##  Bahia     :4   1st Qu.:-10.523   1st Qu.:-37.78   1st Qu.:22.07  
##  Paraíba   :2   Median : -9.500   Median :-37.41   Median :24.50  
##  Pernambuco:6   Mean   : -9.493   Mean   :-37.27   Mean   :25.13  
##  Sergipe   :4   3rd Qu.: -7.965   3rd Qu.:-36.87   3rd Qu.:28.18  
##                 Max.   : -7.630   Max.   :-35.82   Max.   :32.20  
##    Cobertura     Luminosidade       Frutos       Profundidade  
##  Min.   :27.0   Min.   :53.00   Min.   : 5.00   Min.   :32.00  
##  1st Qu.:39.0   1st Qu.:61.25   1st Qu.:16.50   1st Qu.:40.00  
##  Median :50.5   Median :69.75   Median :25.50   Median :48.50  
##  Mean   :52.8   Mean   :68.90   Mean   :25.55   Mean   :53.75  
##  3rd Qu.:70.0   3rd Qu.:77.75   3rd Qu.:35.25   3rd Qu.:65.00  
##  Max.   :78.0   Max.   :84.00   Max.   :47.00   Max.   :87.00  
##       sp.1        sp.2           sp.3           sp.4           sp.5     
##  Min.   :0   Min.   :0.00   Min.   : 1.0   Min.   :0.00   Min.   :0.00  
##  1st Qu.:4   1st Qu.:0.00   1st Qu.: 4.0   1st Qu.:1.75   1st Qu.:0.00  
##  Median :4   Median :1.00   Median : 5.0   Median :3.00   Median :1.00  
##  Mean   :4   Mean   :1.15   Mean   : 5.6   Mean   :3.45   Mean   :1.50  
##  3rd Qu.:5   3rd Qu.:1.25   3rd Qu.: 7.0   3rd Qu.:5.25   3rd Qu.:2.25  
##  Max.   :6   Max.   :5.00   Max.   :10.0   Max.   :8.00   Max.   :5.00  
##       sp.6             sp.7          sp.8          sp.9     
##  Min.   :  0.00   Min.   :0.0   Min.   :0.0   Min.   :0.00  
##  1st Qu.:  4.00   1st Qu.:0.0   1st Qu.:2.0   1st Qu.:0.00  
##  Median :  8.50   Median :2.0   Median :3.0   Median :2.00  
##  Mean   : 19.80   Mean   :1.9   Mean   :3.2   Mean   :1.95  
##  3rd Qu.: 23.25   3rd Qu.:3.0   3rd Qu.:5.0   3rd Qu.:3.00  
##  Max.   :107.00   Max.   :6.0   Max.   :7.0   Max.   :6.00  
##      sp.10          sp.11          sp.12         sp.13     
##  Min.   :0.00   Min.   : 0.0   Min.   :0.0   Min.   :0.00  
##  1st Qu.:0.75   1st Qu.: 0.0   1st Qu.:0.0   1st Qu.:1.75  
##  Median :1.00   Median : 2.0   Median :1.5   Median :3.50  
##  Mean   :1.55   Mean   : 2.8   Mean   :2.1   Mean   :3.20  
##  3rd Qu.:2.25   3rd Qu.: 5.0   3rd Qu.:3.0   3rd Qu.:5.00  
##  Max.   :6.00   Max.   :11.0   Max.   :9.0   Max.   :7.00  
##      sp.14           sp.15          sp.16          sp.17    
##  Min.   : 0.00   Min.   :0.00   Min.   :0.00   Min.   :0.0  
##  1st Qu.: 4.00   1st Qu.:0.00   1st Qu.:0.00   1st Qu.:0.0  
##  Median : 6.00   Median :1.00   Median :0.00   Median :0.0  
##  Mean   : 6.25   Mean   :1.40   Mean   :0.75   Mean   :0.6  
##  3rd Qu.: 8.25   3rd Qu.:2.25   3rd Qu.:1.00   3rd Qu.:0.0  
##  Max.   :13.00   Max.   :5.00   Max.   :4.00   Max.   :6.0  
##      sp.18          sp.19          sp.20         sp.21          sp.22     
##  Min.   :0.00   Min.   :0.00   Min.   :0.0   Min.   :0.00   Min.   :1.00  
##  1st Qu.:0.00   1st Qu.:0.00   1st Qu.:0.0   1st Qu.:2.00   1st Qu.:1.75  
##  Median :0.00   Median :0.00   Median :0.0   Median :2.50   Median :2.00  
##  Mean   :0.85   Mean   :0.75   Mean   :0.6   Mean   :2.35   Mean   :1.90  
##  3rd Qu.:2.00   3rd Qu.:1.25   3rd Qu.:0.0   3rd Qu.:3.00   3rd Qu.:2.00  
##  Max.   :3.00   Max.   :4.00   Max.   :4.0   Max.   :4.00   Max.   :3.00  
##      sp.23         sp.24         sp.25          sp.26          sp.27    
##  Min.   :0.0   Min.   :0.0   Min.   :0.00   Min.   :0.00   Min.   :0.0  
##  1st Qu.:1.0   1st Qu.:0.0   1st Qu.:0.00   1st Qu.:0.00   1st Qu.:0.0  
##  Median :1.0   Median :0.5   Median :1.00   Median :0.50   Median :0.0  
##  Mean   :0.9   Mean   :0.6   Mean   :0.85   Mean   :0.55   Mean   :0.1  
##  3rd Qu.:1.0   3rd Qu.:1.0   3rd Qu.:1.00   3rd Qu.:1.00   3rd Qu.:0.0  
##  Max.   :2.0   Max.   :2.0   Max.   :2.00   Max.   :2.00   Max.   :1.0  
##      sp.28         sp.29         sp.30          sp.31          sp.32    
##  Min.   :0.0   Min.   :0.0   Min.   :0.00   Min.   :0.00   Min.   :0.0  
##  1st Qu.:0.0   1st Qu.:0.0   1st Qu.:0.00   1st Qu.:0.00   1st Qu.:0.0  
##  Median :0.0   Median :0.0   Median :0.00   Median :1.00   Median :0.0  
##  Mean   :0.2   Mean   :0.2   Mean   :0.15   Mean   :0.65   Mean   :0.2  
##  3rd Qu.:0.0   3rd Qu.:0.0   3rd Qu.:0.00   3rd Qu.:1.00   3rd Qu.:0.0  
##  Max.   :2.0   Max.   :3.0   Max.   :2.00   Max.   :1.00   Max.   :1.0  
##      sp.33          sp.34         sp.35          sp.36          sp.37     
##  Min.   :0.00   Min.   :0.0   Min.   :0.00   Min.   :0.00   Min.   :0.00  
##  1st Qu.:0.00   1st Qu.:0.0   1st Qu.:0.00   1st Qu.:0.00   1st Qu.:0.00  
##  Median :0.00   Median :0.0   Median :0.00   Median :0.00   Median :0.00  
##  Mean   :0.15   Mean   :0.1   Mean   :0.25   Mean   :0.15   Mean   :0.05  
##  3rd Qu.:0.00   3rd Qu.:0.0   3rd Qu.:0.00   3rd Qu.:0.00   3rd Qu.:0.00  
##  Max.   :1.00   Max.   :1.0   Max.   :3.00   Max.   :2.00   Max.   :1.00  
##      sp.38         sp.39         sp.40         sp.41     
##  Min.   :0.0   Min.   :0.0   Min.   :0.0   Min.   :0.00  
##  1st Qu.:0.0   1st Qu.:0.0   1st Qu.:0.0   1st Qu.:0.00  
##  Median :0.0   Median :0.0   Median :0.0   Median :0.00  
##  Mean   :0.8   Mean   :0.3   Mean   :0.1   Mean   :0.65  
##  3rd Qu.:0.0   3rd Qu.:0.0   3rd Qu.:0.0   3rd Qu.:0.00  
##  Max.   :7.0   Max.   :3.0   Max.   :1.0   Max.   :7.00
#Conferindo dados de apenas algumas colunas.
summary(dados[,1:8])
##         Estado     Latitude         Longitude       Temperatura   
##  Alagoas   :4   Min.   :-12.100   Min.   :-38.40   Min.   :18.20  
##  Bahia     :4   1st Qu.:-10.523   1st Qu.:-37.78   1st Qu.:22.07  
##  Paraíba   :2   Median : -9.500   Median :-37.41   Median :24.50  
##  Pernambuco:6   Mean   : -9.493   Mean   :-37.27   Mean   :25.13  
##  Sergipe   :4   3rd Qu.: -7.965   3rd Qu.:-36.87   3rd Qu.:28.18  
##                 Max.   : -7.630   Max.   :-35.82   Max.   :32.20  
##    Cobertura     Luminosidade       Frutos       Profundidade  
##  Min.   :27.0   Min.   :53.00   Min.   : 5.00   Min.   :32.00  
##  1st Qu.:39.0   1st Qu.:61.25   1st Qu.:16.50   1st Qu.:40.00  
##  Median :50.5   Median :69.75   Median :25.50   Median :48.50  
##  Mean   :52.8   Mean   :68.90   Mean   :25.55   Mean   :53.75  
##  3rd Qu.:70.0   3rd Qu.:77.75   3rd Qu.:35.25   3rd Qu.:65.00  
##  Max.   :78.0   Max.   :84.00   Max.   :47.00   Max.   :87.00
#Confereindo dados de outras colunas:
summary(dados[,41:49])
##      sp.33          sp.34         sp.35          sp.36          sp.37     
##  Min.   :0.00   Min.   :0.0   Min.   :0.00   Min.   :0.00   Min.   :0.00  
##  1st Qu.:0.00   1st Qu.:0.0   1st Qu.:0.00   1st Qu.:0.00   1st Qu.:0.00  
##  Median :0.00   Median :0.0   Median :0.00   Median :0.00   Median :0.00  
##  Mean   :0.15   Mean   :0.1   Mean   :0.25   Mean   :0.15   Mean   :0.05  
##  3rd Qu.:0.00   3rd Qu.:0.0   3rd Qu.:0.00   3rd Qu.:0.00   3rd Qu.:0.00  
##  Max.   :1.00   Max.   :1.0   Max.   :3.00   Max.   :2.00   Max.   :1.00  
##      sp.38         sp.39         sp.40         sp.41     
##  Min.   :0.0   Min.   :0.0   Min.   :0.0   Min.   :0.00  
##  1st Qu.:0.0   1st Qu.:0.0   1st Qu.:0.0   1st Qu.:0.00  
##  Median :0.0   Median :0.0   Median :0.0   Median :0.00  
##  Mean   :0.8   Mean   :0.3   Mean   :0.1   Mean   :0.65  
##  3rd Qu.:0.0   3rd Qu.:0.0   3rd Qu.:0.0   3rd Qu.:0.00  
##  Max.   :7.0   Max.   :3.0   Max.   :1.0   Max.   :7.00
##########################################################
###Iniciando com alguns calculos simples:

#Média e resumo de uma variável:
mean(Temperatura)
## [1] 25.13
summary(Temperatura)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   18.20   22.07   24.50   25.13   28.18   32.20
#Avaliar dados por meio de histograma:
hist(Temperatura, las=1, main=NULL, ylab="Frequ?ncia", xlab="Temperaturas",
col="gray", xlim=c(15, 35))

# Incluir linha da média no gráfico
abline(v=mean(Temperatura), lty=2, col="red")

#Avaliar dados por estado com boxplot
tapply(Temperatura, Estado, mean)
##    Alagoas      Bahia    Paraíba Pernambuco    Sergipe 
##   22.47500   25.62500   29.45000   28.26667   20.42500
boxplot(Temperatura~Estado, las=1, ylab="Temperatura", xlab="Estados")

#####################################################################
###Avaliar outros gráficos e a relação entre variáveis

#Um gráfico simples de plot:
plot(Cobertura, Temperatura, pch=16, las=1)

#Analisar a correlação entre dois dados:
cor(Cobertura, Temperatura)
## [1] -0.8350364
#Diferenciar com cores os dados do gráfico 
plot(Cobertura, Temperatura, pch=16, las=1,
col=c("red","green3","blue", "gray", "yellow")[Estado])

#Inclusão de legenda no gráfico
legend("topright", legend=levels(Estado), pch=16,
col=c("red","green3","blue", "gray", "yellow"))

#Como fazer uma análise rápida de correlação entre dois dados
modelo1<-lm(Temperatura~Cobertura)
summary(modelo1)
## 
## Call:
## lm(formula = Temperatura ~ Cobertura)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.3524 -1.4926 -0.2025  1.1415  4.0627 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  36.0099     1.7696  20.349 7.15e-14 ***
## Cobertura    -0.2061     0.0320  -6.439 4.64e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.352 on 18 degrees of freedom
## Multiple R-squared:  0.6973, Adjusted R-squared:  0.6805 
## F-statistic: 41.46 on 1 and 18 DF,  p-value: 4.644e-06
abline(modelo1, col="red", lty=2)

################################################################
###Analisar muitas variáveis de uma vez:

cor(dados[,4:8])
##              Temperatura  Cobertura Luminosidade     Frutos Profundidade
## Temperatura    1.0000000 -0.8350364    0.8570506  0.2897747   -0.5719227
## Cobertura     -0.8350364  1.0000000   -0.9608754 -0.2642353    0.8381537
## Luminosidade   0.8570506 -0.9608754    1.0000000  0.3411597   -0.7304425
## Frutos         0.2897747 -0.2642353    0.3411597  1.0000000    0.1211804
## Profundidade  -0.5719227  0.8381537   -0.7304425  0.1211804    1.0000000
#Plotar uma matriz de graficos de correlações:
pairs(dados[,4:8])

#inserir mais informações na matriz de gráficos:
source("panel.hist.R")
source("panel.cor.R")

pairs(dados[,4:8], diag.panel=panel.hist, upper.panel=panel.cor)

################################################################
###Analizando abundâncias:

#######
##Abundância de apenas uma espécie:
summary(sp.1)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##       0       4       4       4       5       6
tabela.sp1<-table(sp.1)
tabela.sp1
## sp.1
## 0 1 3 4 5 6 
## 2 1 1 8 4 4
barplot(tabela.sp1, las=1, ylab="Frequência", xlab="Abundância")

#######
##Avaliar a abundância de todas as espécies de uma localidade:
amostra1<-dados[1, 9:49]
amostra1
##     sp.1 sp.2 sp.3 sp.4 sp.5 sp.6 sp.7 sp.8 sp.9 sp.10 sp.11 sp.12 sp.13
## AL1    4    0    7    2    0    0    3    2    1     1     0     1     3
##     sp.14 sp.15 sp.16 sp.17 sp.18 sp.19 sp.20 sp.21 sp.22 sp.23 sp.24
## AL1     3     0     3     0     0     0     0     0     1     1     1
##     sp.25 sp.26 sp.27 sp.28 sp.29 sp.30 sp.31 sp.32 sp.33 sp.34 sp.35
## AL1     0     2     0     1     0     0     1     0     0     0     0
##     sp.36 sp.37 sp.38 sp.39 sp.40 sp.41
## AL1     0     0     0     0     0     0
tabela.amostra1<-as.matrix(amostra1)
barplot(tabela.amostra1, las=2, ylab="Frequência", xlab="Espécie")

#Organizar a abundancia em ordem de importância

amostra1.ordem<-sort(amostra1, decreasing=T)
amostra1.ordem
##     sp.3 sp.1 sp.7 sp.13 sp.14 sp.16 sp.4 sp.8 sp.26 sp.9 sp.10 sp.12
## AL1    7    4    3     3     3     3    2    2     2    1     1     1
##     sp.22 sp.23 sp.24 sp.28 sp.31 sp.2 sp.5 sp.6 sp.11 sp.15 sp.17 sp.18
## AL1     1     1     1     1     1    0    0    0     0     0     0     0
##     sp.19 sp.20 sp.21 sp.25 sp.27 sp.29 sp.30 sp.32 sp.33 sp.34 sp.35
## AL1     0     0     0     0     0     0     0     0     0     0     0
##     sp.36 sp.37 sp.38 sp.39 sp.40 sp.41
## AL1     0     0     0     0     0     0
tabela.amostra1.ordem<-as.matrix(amostra1.ordem)
barplot(tabela.amostra1.ordem, las=2, ylab="Frequência",xlab="Espécie")

#Remover as espécies ausentes:
barplot(tabela.amostra1.ordem[,1:17], las=2, ylab="Frequência",
xlab="Espécie")

#######
##Ilustrar todas as abundâncias graficamente

abundâncias<-colSums(dados[,9:49])
abundâncias
##  sp.1  sp.2  sp.3  sp.4  sp.5  sp.6  sp.7  sp.8  sp.9 sp.10 sp.11 sp.12 
##    80    23   112    69    30   396    38    64    39    31    56    42 
## sp.13 sp.14 sp.15 sp.16 sp.17 sp.18 sp.19 sp.20 sp.21 sp.22 sp.23 sp.24 
##    64   125    28    15    12    17    15    12    47    38    18    12 
## sp.25 sp.26 sp.27 sp.28 sp.29 sp.30 sp.31 sp.32 sp.33 sp.34 sp.35 sp.36 
##    17    11     2     4     4     3    13     4     3     2     5     3 
## sp.37 sp.38 sp.39 sp.40 sp.41 
##     1    16     6     2    13
abundâncias.ordem<-sort(abundâncias, decreasing=T)
barplot(abundâncias.ordem, las=2, ylab="Abundâncias", xlab="Espécies")

#Olhando para estes dados a fundo
dados[,c(1:3, 14)]
##         Estado Latitude Longitude sp.6
## AL1    Alagoas    -9.90    -37.07    0
## SE1    Sergipe   -11.12    -37.41    4
## SE2    Sergipe   -10.07    -37.46    3
## AL2    Alagoas    -9.53    -37.88    9
## AL3    Alagoas    -9.12    -37.77    8
## SE3    Sergipe    -9.95    -37.56    0
## BA1      Bahia   -11.68    -38.40    7
## BA2      Bahia   -10.53    -37.88    5
## SE4    Sergipe   -10.52    -36.82    1
## BA3      Bahia   -12.10    -38.02    5
## BA4      Bahia   -11.90    -37.80   27
## PE1 Pernambuco    -8.44    -36.07    4
## AL4    Alagoas    -9.47    -36.21  107
## PB1    Paraíba    -7.87    -36.46   53
## PE2 Pernambuco    -7.73    -37.38   22
## PE3 Pernambuco    -7.92    -37.77   17
## PE4 Pernambuco    -7.63    -37.26   43
## PE5 Pernambuco    -8.68    -37.40   14
## PB2    Paraíba    -7.73    -36.88   57
## PE6 Pernambuco    -7.98    -35.82   10
#Vamos supor que os dados estejam corretos. Como resolver? Log!

log.abundâncias<-log10(abundâncias.ordem+1)

barplot(log.abundâncias, las=2, ylab="Logaritmo das abundâncias",
xlab="Espécies", ylim=c(0,3))

#Vamos melhorar colocando os valores reais nas barras
gráfico<-barplot(log.abundâncias, las=2, ylab="Logaritmo das abundâncias",
xlab="Espécies", ylim=c(0,3))
text(x=gráfico, y=log.abundâncias+0.1, abundâncias.ordem)


##################################################################
###E a biodiversidade?

#ATENÇÃO ATUALIZAR DIRETORIO DOS PACOTES
#SUGESTÃO SUBIR PARA INICIO DO SCRIPT OS COMANDOS DE ABRIR PACOTES

library("vegan", lib.loc="~/R/win-library/3.4") 
## Warning: package 'vegan' was built under R version 3.4.4
## Loading required package: permute
## Warning: package 'permute' was built under R version 3.4.4
## Loading required package: lattice
## This is vegan 2.5-1

#Se não tiver o pacote, vê no menu "Pacotes" e clique em "Instalar pacotes"
#Escolha os servidor de onde vai baixar e encontre o pacote desejado na lista

#Riqueza de espécies por localidade de coleta:
riqueza<-specnumber(dados[,9:49])
riqueza
## AL1 SE1 SE2 AL2 AL3 SE3 BA1 BA2 SE4 BA3 BA4 PE1 AL4 PB1 PE2 PE3 PE4 PE5 
##  17  25  21  19  22  17  21  17  17  18  20  15  23  20  19  22  19  25 
## PB2 PE6 
##  18  19
#E a riqueza total por estado:
specnumber(dados[,9:49], group=Estado)
##    Alagoas      Bahia    Paraíba Pernambuco    Sergipe 
##         33         29         23         28         34
#E a diversidade? Vamos de Shannon:
diversity(dados[,9:49], index="shannon")
##      AL1      SE1      SE2      AL2      AL3      SE3      BA1      BA2 
## 2.624194 2.976366 2.928375 2.697784 2.758447 2.724256 2.849312 2.647016 
##      SE4      BA3      BA4      PE1      AL4      PB1      PE2      PE3 
## 2.628297 2.711446 2.417293 2.579156 1.894462 2.365457 2.583259 2.822355 
##      PE4      PE5      PB2      PE6 
## 2.197376 2.940925 2.144414 2.681331
#Plotar curva de rarefação.
rarefação<-specaccum(dados[,9:49])
## Warning in cor(x > 0): o desvio padrão é zero
rarefação
## Species Accumulation Curve
## Accumulation method: exact
## Call: specaccum(comm = dados[, 9:49]) 
## 
##                                                                        
## Sites     1.00000  2.00000  3.00000  4.00000  5.00000  6.00000  7.00000
## Richness 19.70000 26.12105 29.54825 31.83633 33.55076 34.91736 36.04172
## sd        2.64764  2.51567  2.43165  2.31283  2.18803  2.05671  1.92348
##                                                                        
## Sites     8.00000  9.00000 10.00000 11.00000 12.00000 13.00000 14.00000
## Richness 36.98042 37.76836 38.42997 38.98398 39.44561 39.82755 40.14061
## sd        1.79009  1.65715  1.52485  1.39273  1.26059  1.12726  0.99249
##                                                         
## Sites    15.00000 16.00000 17.00000 18.00000 19.00000 20
## Richness 40.39396 40.59546 40.75175 40.86842 40.95000 41
## sd        0.85486  0.71348  0.56641  0.40259  0.21794  0
plot(rarefação, las=1, xlab="Esforço amostral",
ylab="Riqueza acumulada", ylim=c(10, 45))

#Estimando a riqueza
specpool(dados[,9:49])
##     Species     chao   chao.se jack1 jack1.se    jack2     boot  boot.se
## All      41 41.07917 0.3244698 41.95     0.95 37.73421 42.30226 1.263051
##      n
## All 20
#######
#Pensando na composição de espécies.

#Vamos criar um cluster vertical com o coeficiente de Jaccard:
matriz.jac<-vegdist(dados[,9:49], method="jac", binary=T)
agrupamento.jac<-hclust(matriz.jac, method="average")
plot(agrupamento.jac, hang=-1)

#Mudando o cluster para a horizontal:
plot(as.dendrogram(agrupamento.jac), horiz=T)

#######
#Representação mediante NMDS

#Iniciando com l?:
nmds.jac<-metaMDS(matriz.jac)
## Run 0 stress 0.1603297 
## Run 1 stress 0.1804793 
## Run 2 stress 0.1843736 
## Run 3 stress 0.1607154 
## ... Procrustes: rmse 0.01440179  max resid 0.05266457 
## Run 4 stress 0.1804793 
## Run 5 stress 0.1607154 
## ... Procrustes: rmse 0.0144174  max resid 0.0526862 
## Run 6 stress 0.1716372 
## Run 7 stress 0.1668308 
## Run 8 stress 0.1839113 
## Run 9 stress 0.1628222 
## Run 10 stress 0.1716381 
## Run 11 stress 0.161823 
## Run 12 stress 0.1854323 
## Run 13 stress 0.1745404 
## Run 14 stress 0.1773553 
## Run 15 stress 0.1673048 
## Run 16 stress 0.167373 
## Run 17 stress 0.1677702 
## Run 18 stress 0.1777048 
## Run 19 stress 0.1861626 
## Run 20 stress 0.1694352 
## *** No convergence -- monoMDS stopping criteria:
##     20: stress ratio > sratmax
plot(nmds.jac, type="t")
## species scores not available

#Mudar cores por estado e incluir legenda:
plot(nmds.jac, type="n")
## species scores not available
points(nmds.jac, pch=16,
col=c("red","green3","blue", "gray", "yellow")[Estado])
legend("bottomleft", legend=levels(Estado), pch=16,
col=c("red","green3","blue", "gray", "yellow"))

#E que tal pontos com polígonos por estado?
plot(nmds.jac, type="n")
## species scores not available
points(nmds.jac, pch=16)

ordihull(nmds.jac, group=Estado, show="Alagoas", col="red")
ordihull(nmds.jac, group=Estado, show="Bahia", col="green3")
ordihull(nmds.jac, group=Estado, show="Para?ba", col="blue")
ordihull(nmds.jac, group=Estado, show="Pernambuco", col="gray")
ordihull(nmds.jac, group=Estado, show="Sergipe", col="yellow")

legend("bottomleft", legend=levels(Estado), lty=1,
col=c("red","green3","blue", "gray", "yellow"))

#######
#Analisar a relação com as variáveis ambientais:

#Primeiro, uma PCA:

resultado.pca<-rda(dados[,4:8], scale=T)
summary(resultado.pca)
## 
## Call:
## rda(X = dados[, 4:8], scale = T) 
## 
## Partitioning of correlations:
##               Inertia Proportion
## Total               5          1
## Unconstrained       5          1
## 
## Eigenvalues, and their contribution to the correlations 
## 
## Importance of components:
##                          PC1    PC2     PC3     PC4      PC5
## Eigenvalue            3.4760 1.1035 0.31331 0.08726 0.019986
## Proportion Explained  0.6952 0.2207 0.06266 0.01745 0.003997
## Cumulative Proportion 0.6952 0.9159 0.97855 0.99600 1.000000
## 
## Scaling 2 for species and site scores
## * Species are scaled proportional to eigenvalues
## * Sites are unscaled: weighted dispersion equal on all dimensions
## * General scaling constant of scores:  3.121986 
## 
## 
## Species scores
## 
##                 PC1      PC2      PC3      PC4      PC5
## Temperatura   1.248 -0.14171  0.58134  0.18582 -0.01340
## Cobertura    -1.378 -0.07164  0.11098  0.08085 -0.16019
## Luminosidade  1.360 -0.09205  0.02064 -0.28382 -0.09844
## Frutos        0.425 -1.29489 -0.28723  0.09676 -0.01204
## Profundidade -1.135 -0.66378  0.42137 -0.19780  0.05730
## 
## 
## Site scores (weighted sums of species scores)
## 
##          PC1       PC2      PC3       PC4       PC5
## AL1 -1.02957  0.255624  0.57253 -0.169273  1.577743
## SE1 -0.44258  0.794137 -1.17293 -0.009534  0.340298
## SE2 -0.96679 -0.001699 -0.55269  1.137916 -0.817939
## AL2 -0.84237 -0.373709 -0.33273  0.659017 -0.330739
## AL3  0.23145  0.619376 -0.66615  0.391840 -0.755281
## SE3 -1.02363  0.816577  0.15611 -2.003702 -0.678930
## BA1 -0.93442 -0.764020  1.34952  0.007348 -0.008326
## BA2  0.17452  0.790036  1.39590  0.429347 -0.374980
## SE4  0.28112  1.350440 -0.59549  0.026945  1.316592
## BA3  0.16423  0.684458  0.07558  1.156419 -0.787000
## BA4 -0.63077 -0.303762  0.25033 -0.207189 -0.365035
## PE1  1.06121  0.291911  0.41558  0.079573  0.617395
## AL4 -0.17658 -1.252884 -0.69737  0.614629  0.722140
## PB1  0.90465 -0.523667  0.75635  0.282218 -0.293837
## PE2  0.79302 -0.030483  0.80155 -0.276849 -0.174969
## PE3  0.92496 -0.521060 -0.71764 -0.659446 -0.115347
## PE4  0.08705 -0.854247  0.04089  0.100571  1.118842
## PE5  0.15994 -1.010178 -0.64287 -1.072086 -0.504148
## PB2  0.48247 -0.380949 -0.40184 -0.271135 -0.398108
## PE6  0.78210  0.414099 -0.03463 -0.216611 -0.088369
biplot(resultado.pca)

#Incluir polígonos nesta PCA
ordihull(resultado.pca, group=Estado, show="Alagoas", col="red")
ordihull(resultado.pca, group=Estado, show="Bahia", col="green3")
ordihull(resultado.pca, group=Estado, show="Para?ba", col="blue")
ordihull(resultado.pca, group=Estado, show="Pernambuco", col="gray")
ordihull(resultado.pca, group=Estado, show="Sergipe", col="yellow")

#######
#Relacionando tudo:

nmds.env<-envfit(nmds.jac, dados[,4:8])
nmds.env
## 
## ***VECTORS
## 
##                 NMDS1    NMDS2     r2 Pr(>r)    
## Temperatura   0.77792  0.62836 0.5985  0.001 ***
## Cobertura    -0.79494 -0.60668 0.6590  0.001 ***
## Luminosidade  0.86708  0.49817 0.6421  0.001 ***
## Frutos        0.81910 -0.57365 0.7046  0.001 ***
## Profundidade -0.56166 -0.82737 0.3194  0.049 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Permutation: free
## Number of permutations: 999
plot(nmds.jac, type="n")
## species scores not available
points(nmds.jac, pch=16,
col=c("red","green3","blue", "gray", "yellow")[Estado])
legend("bottomleft", legend=levels(Estado), pch=16,
col=c("red","green3","blue", "gray", "yellow"))
plot(nmds.env)

############################################################
#Para entender melhor basta analisar os dados em mapas

library("dismo", lib.loc="~/R/win-library/3.4")
## Warning: package 'dismo' was built under R version 3.4.4
## Loading required package: raster
## Warning: package 'raster' was built under R version 3.4.4
## Loading required package: sp
## Warning: package 'sp' was built under R version 3.4.4
library("maptools", lib.loc="~/R/win-library/3.4")
## Warning: package 'maptools' was built under R version 3.4.4
## Checking rgeos availability: FALSE
##      Note: when rgeos is not available, polygon geometry     computations in maptools depend on gpclib,
##      which has a restricted licence. It is disabled by default;
##      to enable gpclib, type gpclibPermit()
#Lidando com mapas no R:

data(wrld_simpl)
plot(wrld_simpl)

#Plotando os dados no mapa:
plot(wrld_simpl, xlim=c(-90, -30), ylim=c(-60, 20),
axes=T, col="gray")
points(dados[,c(3,2)], pch=16, col="red", cex=0.5)

##########################################
# PAREI AQUI PRECISO  FAZER UPDATE DE RGDAL
##########################################
# TENTAR INSTALAR VERSÕES POSTERIORES A CORRENTE
#################################################

library("rgdal", lib.loc="~/R/win-library/3.4")
## Warning: package 'rgdal' was built under R version 3.4.4
## rgdal: version: 1.2-18, (SVN revision 718)
##  Geospatial Data Abstraction Library extensions to R successfully loaded
##  Loaded GDAL runtime: GDAL 2.2.3, released 2017/11/20
##  Path to GDAL shared files: C:/Users/adriana.colosio/Documents/R/win-library/3.4/rgdal/gdal
##  GDAL binary built with GEOS: TRUE 
##  Loaded PROJ.4 runtime: Rel. 4.9.3, 15 August 2016, [PJ_VERSION: 493]
##  Path to PROJ.4 shared files: C:/Users/adriana.colosio/Documents/R/win-library/3.4/rgdal/proj
##  Linking to sp version: 1.2-7
########################################################################
#pacotes a serem instalados um a um no ubuntu
########################################################################

#library("lattice", lib.loc="/usr/lib/R/library")
#library("sp", lib.loc="~/R/x86_64-pc-linux-gnu-library/3.4")
#library("codetools", lib.loc="~/R/x86_64-pc-linux-gnu-library/3.4")
#library("iterators", lib.loc="~/R/x86_64-pc-linux-gnu-library/3.4")
#library("RUnit", lib.loc="~/R/x86_64-pc-linux-gnu-library/3.4") # sugerido
#library("R.methodsS3", lib.loc="~/R/x86_64-pc-linux-gnu-library/3.4")
#library("Rcpp", lib.loc="~/R/x86_64-pc-linux-gnu-library/3.4")
#library("raster", lib.loc="~/R/x86_64-pc-linux-gnu-library/3.4")
#library("methods", lib.loc="/usr/lib/R/library")
#library("foreach", lib.loc="~/R/x86_64-pc-linux-gnu-library/3.4")
#library("grDevices", lib.loc="/usr/lib/R/library")
#library("graphics", lib.loc="/usr/lib/R/library")
#library("stats", lib.loc="/usr/lib/R/library")
#library("utils", lib.loc="/usr/lib/R/library")

########################################################################


#Aplicando zoom e incluir os estados:
brasil<-shapefile("uf_car.shp")
## Warning in .local(x, ...): .prj file is missing
plot(brasil, xlim=c(-40, -34), ylim=c(-13, -5),
axes=T, col="gray")
points(dados[,c(3,2)], pch=16, col="red")

#Plotar por proporcionalidade de riqueza de espécies
plot(brasil, xlim=c(-40, -34), ylim=c(-13, -5),
axes=T, col="gray")
points(dados[,c(3,2)], pch=16, col="black", cex=0.1)
points(dados[,c(3,2)], pch=1, col="red", cex=riqueza/5)

#Avaliar o efeito do Rio São Francisco separando os dados:
plot(brasil, xlim=c(-40, -34), ylim=c(-13, -5),
axes=T, col="gray")
points(dados[,c(3,2)], pch=16, col="red")
rio<-shapefile("SaoFrancisco.shp")
## Warning in .local(x, ...): .prj file is missing
plot(rio, add=T, col="blue", lwd=2)

#######
#Retornando ao NMDS, para separar os dados em "sul e norte" do rio São Francisco

#Primeiro passo, criar os dois grupos:
Posição<-ifelse(Latitude<(-10), "Sul", "Norte")
Posição<-as.factor(Posição)

#Plotando novamente para o NMDS:
plot(nmds.jac, type="n")
## species scores not available
points(nmds.jac, pch=16,
col=c("red","green3")[Posição])
legend("bottomleft", legend=levels(Posição), pch=16,
col=c("red","green3"))

#######
#Vamos um pouco além com o SIG, e trazer alguns gridfiles:

files<-list.files(path=paste(system.file(package="dismo"),
"/ex", sep=""), pattern="grd", full.names=T)

precipitação<-stack(files[2]) #Aqui usamos apenas a precipitação, como exemplo

plot(precipitação, xlim=c(-40, -34), ylim=c(-13, -5))
plot(brasil, xlim=c(-40, -34), ylim=c(-13, -5), add=T)

points(dados[,c(3,2)], pch=16, col="red", cex=1)

#Qual a precipitação nos pontos de coleta?
precipitação.pontos<-extract(precipitação, dados[,c(3,2)])

novos.dados<-cbind(dados, precipitação.pontos)
novos.dados[,c(1,50)]
##         Estado bio12
## AL1    Alagoas   604
## SE1    Sergipe  1497
## SE2    Sergipe   824
## AL2    Alagoas   569
## AL3    Alagoas   615
## SE3    Sergipe   569
## BA1      Bahia   963
## BA2      Bahia   924
## SE4    Sergipe  1370
## BA3      Bahia  1587
## BA4      Bahia  1385
## PE1 Pernambuco   580
## AL4    Alagoas  1435
## PB1    Paraíba   425
## PE2 Pernambuco   636
## PE3 Pernambuco   748
## PE4 Pernambuco   636
## PE5 Pernambuco   642
## PB2    Paraíba   507
## PE6 Pernambuco   793
hist(precipitação.pontos)

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated results.