Coeficientes de associação

1º) A caatinga na região do Vale do Catimbau cujo clima predominante da região é o tropical semiárido, com temperaturas médias anuais variando entre 23°C em julho e 25°C em dezembro, podendo alcançar 45°C durante o dia. O período de maior pluviosidade (60 a 75% das chuvas) acontece nos meses de março/abril e junho/julho com precipitação média anual entre 300 a 500 mm. Entre setembro e janeiro ocorre o período mais seco, dentre os fatores que afetam esse ambiente destacam-se a variação de temperatura média e os índices anuais de pluviosidade. Em relação às espécies vegetais predominam as lenhosas arbustivas, cactáceas gramíneas, podem ser classificadas como hiperxerófilas, ou seja, adaptadas ao clima seco e semiárido, são também subcaducifólia, caracterizadas por regimes secos ou chuvoso. Pergunta: Em quais épocas do ano podem ser encontradas uma maior diversidade de organismos do solo (nematóide,fungos, bactérias)? Eles são mais afetados pela variação da temperatura ou pluviosidade? Esses mesmos organismos podem ser afetados pela predominância de alguma espécie vegetal?

2º) - Usando distância Euclidiana para elaborar a matriz

Estacao1=c(2,0,2,0)
Estacao2=c(5,1,5,3)
Estacao3=c(4,4,1,2)
Estacao4=c(3,3,2,2)

MAT=cbind(Estacao1, Estacao2, Estacao3, Estacao4)
rownames(MAT)=c("Especie1", "Especie2", "Especie3", "Especie4")
dist(MAT, method = "euclidean", diag = TRUE, upper = FALSE, p = 2)
##          Especie1 Especie2 Especie3 Especie4
## Especie1 0.000000                           
## Especie2 4.472136 0.000000                  
## Especie3 3.162278 5.477226 0.000000         
## Especie4 3.605551 3.000000 3.000000 0.000000

Agora utilizaremos o índice de Bray-Curtis.

library(vegan)
## Warning: package 'vegan' was built under R version 4.1.3
## Carregando pacotes exigidos: permute
## Warning: package 'permute' was built under R version 4.1.2
## Carregando pacotes exigidos: lattice
## This is vegan 2.5-7
df<-data.frame(MAT)
vegdist(df, method = "bray", diag = TRUE, upper = FALSE, p = 2)
##           Especie1  Especie2  Especie3  Especie4
## Especie1 0.0000000                              
## Especie2 0.2727273 0.0000000                    
## Especie3 0.1666667 0.5555556 0.0000000          
## Especie4 0.3333333 0.3333333 0.2941176 0.0000000

3º) Elaborando matriz com índice de Jaccard

Estacao1=c(1,1,1,0)
Estacao2=c(0,1,0,1)
Estacao3=c(0,1,1,1)
Estacao4=c(1,0,1,1)

MAT2=cbind(Estacao1, Estacao2, Estacao3, Estacao4)
rownames(MAT2)=c("Especie1", "Especie2", "Especie3", "Especie4")
library(vegan)
df<-data.frame(MAT2)
vegdist(df, method = "jaccard", diag = TRUE, upper = FALSE, p = 2)
##           Especie1  Especie2  Especie3  Especie4
## Especie1 0.0000000                              
## Especie2 0.7500000 0.0000000                    
## Especie3 0.3333333 0.5000000 0.0000000          
## Especie4 0.7500000 0.5000000 0.5000000 0.0000000

Utilizando indice de sorensen

4º)

#O estudo mais adequado seria o de similiariadade quantitativa pois os dados remetem a ,medição de abundancia das especies em questão.                                  

5º)

6º)

Exércicio 2: Análise de Cluster

#carregando pacotes necessários
library(vegan)
#abrindo arquivos do exercício
dados<-read.table("tabcluster1.txt",header=T)
dados <-t(dados)
#Uniformaizando os dado com log
dadost<-log1p(dados)
#elaborando matriz de similaridade de Bray-curtis
matriz<-vegdist(dadost,upper=FALSE, "bray") 
#criando um dendrograma
dendro<-hclust(matriz, method="complete")
plot(dendro)

## questão2

library(vegan)
library(dendextend)
library(factoextra)
#carregando os dados 
dadosq2 <- read.table("tabcluster2.txt")
#foi preciso uniformizar os dados
dadosq2 <- dadosq2[,-1]
#Agora usamo o coeficiente de associação de distância euclidiana
distancia <- vegdist(dadosq2, "euclidian")
#dendrograma dos dados 
dendro2 <- hclust(distancia, method = "complete")
dp <- as.dendrogram(dendro2)
plot(dendro2)

#elaborando o MDS
kcluster<- kmeans(dadosq2,centers= 4, iter.max=2000, nstart=20000)
matriz<-vegdist(distancia,upper=FALSE, "bray")
mds<-cmdscale(matriz)
grupos<-levels(factor(kcluster$cluster))
ordiplot(mds, type = "text")
## species scores not available
orditorp (mds, display = 'sites',cex=1.3)
cols <- c("grey", "brown", "black", "orange")
for(i in seq_along(grupos)){
  points(mds[factor(kcluster$cluster) == grupos[i], ], col = cols[i], pch = 16)
}
for (i in unique (kcluster$cluster)) ordihull (mds, groups = kcluster$cluster, show.group = i, col = i, draw = 'polygon', label = F)

## Questão 3

#elaborando bray-curtis
#carregando e normalizando os dados 
dadosq3 <- read.table("aulapi.txt")
dadosq3t<-log1p(dadosq3)
matriz<-vegdist(t(dadosq3t),upper=FALSE, "bray") 
dendro3<-hclust(matriz, method="complete")
plot(dendro3, hang=-1,ann=FALSE, cex.axis=1.1,col=3)
title(ylab="Dissimilaridade", main="Bray-Curtis",xlab="Amostras",cex.lab=1.2)

#Elaborando distância euclidiana
matriz<-vegdist(t(dadosq3t),upper=FALSE, "euclidean") 
dendro3b<-hclust(matriz, method="complete")
plot(dendro3b, hang=-1,ann=FALSE, cex.axis=1.1,col=3)
title(ylab="Dissimilaridade", main="Euclideana",xlab="Amostras",cex.lab=1.2)

Questão 4

#Elaborando primeiro o cluster
dados <- read.table("HaloduleAbiotico.txt",header=T)
praias <- dados$Praias
dados <- dados[,-14]
kcluster<- kmeans(dados,centers= 3, iter.max=1000, nstart=10000)

dadost<-log1p(dados)
matriz<-vegdist(dadost,upper=FALSE, "bray")
kcluster<- kmeans(dadost,centers= 3, iter.max=1000, nstart=10000)

mds<-cmdscale(matriz)
grupos<-levels(factor(praias))

ordiplot(mds, type = "text")
## species scores not available
cols <- c("grey", "brown", "black", "orange")
for(i in seq_along(grupos)){
  points(mds[factor(kcluster$cluster) == grupos[i], ], col = cols[i], pch = 16)
}
ordispider(mds, factor(kcluster$cluster), col="blue", label = TRUE)
ordihull(mds, factor(kcluster$cluster), lty = "dotted")

library(BBmisc)
## Warning: package 'BBmisc' was built under R version 4.1.3
## 
## Attaching package: 'BBmisc'
## The following object is masked from 'package:base':
## 
##     isFALSE
dados <- read.table("HaloduleAbiotico.txt",header=T)
praias <- dados$Praias
dados <- dados[,-14]
dadosn<-normalize(dados, method = "standardize", range = c(0, 1), margin = 1L, on.constant = "quiet")
matriz<-dist(dadosn)
mds<- cmdscale(matriz,eig=TRUE, k=2)
um<- mds$points[,1]
dois<- mds$points[,2]
plot(um, dois, xlab="Coordenada 1", ylab="Coordenada 2", main="MDS Métrico",type="n")
text(um, dois, labels = row.names(dados), cex=1)

dados <- read.table("HaloduleAbiotico.txt",header=T)
praias <- dados$Praias
dados <- dados[,-14]

kcluster<- kmeans(dadost,centers= 3, iter.max=1000, nstart=10000)

dadost<-log1p(dados)
matriz<-vegdist(dadost,upper=FALSE, "euclidean")
kcluster<- kmeans(dadost,centers= 3, iter.max=1000, nstart=10000)

mds<-cmdscale(matriz)
grupos<-levels(factor(praias))

ordiplot(mds, type = "text")
## species scores not available
cols <- c("mediumblue", "darkred", "darkgreen", "pink")
for(i in seq_along(grupos)){
  points(mds[factor(kcluster$cluster) == grupos[i], ], col = cols[i], pch = 16)
}
ordispider(mds, factor(kcluster$cluster), col="blue", label = TRUE)
ordihull(mds, factor(kcluster$cluster), lty = "dotted")

## Questão 5

dadosq4 <- read.table("tabcluster3.txt",header=T)
## Warning in read.table("tabcluster3.txt", header = T): incomplete final line
## found by readTableHeader on 'tabcluster3.txt'
dadost <- log1p((dadosq4))
matriz<-vegdist((dadost),upper=FALSE, "bray")
d<-hclust(matriz, method="complete")
plot(d, hang=-1,ann=FALSE, cex.axis=1.1,col=3)
title(ylab="Dissimilaridade", main="Espécies",xlab="Amostras",cex.lab=1.2)

Questão 6

dados<-read.table("tabcluster4.txt",header=T)
dadost<-log1p(dados)
matriz<-vegdist(dadost,upper=FALSE, "bray") 
d<-hclust(matriz, method="single")

e<-hclust(matriz, method="complete")

f<-hclust(matriz, method="average")



plot(d, hang=-1,ann=FALSE, cex.axis=1.1,col=1)
rect.hclust(d,  h=0.45, border=2:4)
title(ylab="Dissimilaridade", main="Estações",xlab="Amostras",cex.lab=1.2)

Questão 7

dadosq7<-read.table("tabcluster7.txt",header=T)
## Warning in read.table("tabcluster7.txt", header = T): incomplete final line
## found by readTableHeader on 'tabcluster7.txt'
dadosq7 <-t(dadosq7)
dadost<-log1p(dadosq7)
matriz<-vegdist(dadost,upper=FALSE, "bray") 

d<-hclust(matriz, method="single")

e<-hclust(matriz, method="complete")

f<-hclust(matriz, method="average")

g <-hclust(matriz, method="centroid")

plot(d, hang=-1,ann=FALSE, cex.axis=1.1,col=1)
rect.hclust(d,  h=0.45, border=2:4)
title(ylab="Dissimilaridade", main="Simples",xlab="Amostras",cex.lab=1.2)

cutree(d, 3)
## A B C D E F G H I J 
## 1 1 2 2 2 2 2 2 3 3
plot(e, hang=-1,ann=FALSE, cex.axis=1.1,col=1)
rect.hclust(e, h=0.8,border=2:5)
title(ylab="Dissimilaridade", main="Completo",xlab="Amostras",cex.lab=1.2)

cutree(d, 3)
## A B C D E F G H I J 
## 1 1 2 2 2 2 2 2 3 3
plot(f, hang=-1,ann=FALSE, cex.axis=1.1,col=1)
rect.hclust(f, h=0.7,border=2:5)
title(ylab="Dissimilaridade", main="Média",xlab="Amostras",cex.lab=1.2)

cutree(d, 3)
## A B C D E F G H I J 
## 1 1 2 2 2 2 2 2 3 3
plot(f, hang=-1,ann=FALSE, cex.axis=1.1,col=1)
rect.hclust(f, h=0.7,border=2:5)
title(ylab="Dissimilaridade", main="Centróide",xlab="Amostras",cex.lab=1.2)

Questão 8

dadosq8 <- read.table("tabcluster8.txt",header=T)
dadosq8 <-t(dadosq8)
matriz<-vegdist(dadost,upper=FALSE, "jaccard") 
dendro8<-hclust(matriz, method="single")
plot(dendro8, hang=-1,ann=FALSE, cex.axis=1.1,col=1)
rect.hclust(d,  h=0.62, border=2:4)
title(ylab="Dissimilaridade", main="Jaccard - Simples",xlab="Amostras",cex.lab=1.2)

Atividadae 3: Ordenação 1

Questão 1

#carregando pacotes e dados 
library(BBmisc)
ordq1 <- read.table("ordtab1.txt" ,header = T)
ordq1<-ordq1[,-1]
#normalizando dados para evitar grandes variações 
ordq1n<-normalize(ordq1, method = "standardize", range = c(0, 1), margin = 1L, on.constant = "quiet")
acp = prcomp(ordq1n, scale. = TRUE)
acp$sdev
## [1] 2.031187e+00 1.543575e+00 1.105814e+00 4.454508e-01 2.653392e-01
## [6] 2.235782e-16 0.000000e+00 0.000000e+00
#plotando o gráfico 
biplot(acp)

library(factoextra)
autovalores <- get_eigenvalue(acp)
fviz_eig(acp)

library(ggplot2)
scores = as.data.frame(acp$x)
ggplot(data = scores, aes(x = PC1, y = PC2, label = rownames(scores))) +
  geom_hline(yintercept = 0, colour = "gray65") +
  geom_vline(xintercept = 0, colour = "gray65") +
  geom_text(colour = "red", alpha = 0.8, size = 4) +
  ggtitle("ACP Comunidades ")

#modificando o gráfico
#tipo 1:
fviz_pca_ind(acp, col.ind = "cos2", gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),repel = TRUE)     

#tipo2
fviz_pca_var(acp, col.var = "contrib",
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             repel = TRUE) 

#tipo3:separando as variaveis e estações 
fviz_pca_biplot(acp, repel = TRUE,col.var = "#2E9FDF", # Variables color
                col.ind = "#696969")

#Elaborando a matriz
library(FactoMineR)
## Warning: package 'FactoMineR' was built under R version 4.1.3
acp = PCA(ordq1, graph = FALSE)
acp$eig
##          eigenvalue percentage of variance cumulative percentage of variance
## comp 1 4.125720e+00           5.157150e+01                          51.57150
## comp 2 2.382625e+00           2.978281e+01                          81.35431
## comp 3 1.222824e+00           1.528530e+01                          96.63961
## comp 4 1.984264e-01           2.480330e+00                          99.11994
## comp 5 7.040489e-02           8.800611e-01                         100.00000
## comp 6 3.433232e-33           4.291540e-32                         100.00000
## comp 7 2.087354e-66           2.609192e-65                         100.00000
## comp 8 3.495537e-99           4.369421e-98                         100.00000
#correlação entre variaveis e PCA
acp$var$coord
##           Dim.1      Dim.2      Dim.3       Dim.4       Dim.5
## X1A1  0.8669402  0.2090912  0.2665732 -0.35528167  0.08607687
## X1A2 -0.4256648  0.8279683  0.3588321 -0.01096585 -0.06631248
## X1A3 -0.4256648  0.8279683  0.3588321 -0.01096585 -0.06631248
## X1A4 -0.2362600  0.8325341 -0.4578377  0.08398011  0.18547293
## X2A1  0.5550005 -0.1628695  0.7765598  0.22533223  0.10783440
## X2A2  0.9394873  0.2876361 -0.1649050  0.06863816 -0.05219357
## X2A3  0.9394873  0.2876361 -0.1649050  0.06863816 -0.05219357
## X2A4 -0.9394873 -0.2876361  0.1649050 -0.06863816  0.05219357
head(acp$ind$coord)
##        Dim.1      Dim.2      Dim.3       Dim.4      Dim.5
## 1 -1.7845214  0.5863553 -0.4908950  0.06488756  0.1104389
## 2 -0.9893441 -0.7299776  1.7877018  0.71262193 -0.4868305
## 3 -1.7845214  0.5863553 -0.4908950  0.06488756  0.1104389
## 4  3.9576880 -1.9155468 -0.3189614  0.21639620  0.1371970
## 5  2.6724357  1.8673875  0.4583878  0.47814098  0.3144518
## 6  2.1146879  2.0827680 -0.9750782 -0.55442528 -0.5151129
library(ade4)
## Warning: package 'ade4' was built under R version 4.1.3
## 
## Attaching package: 'ade4'
## The following object is masked from 'package:FactoMineR':
## 
##     reconst
acp = dudi.pca(ordq1, nf = 5, scannf = FALSE)
acp$eig
## [1] 4.12572000 2.38262508 1.22282361 0.19842642 0.07040489
acp$c1
##             CS1        CS2        CS3         CS4        CS5
## X1A1  0.4268146 -0.1354590 -0.2410652  0.79757777 -0.3244032
## X1A2 -0.2095646 -0.5363964 -0.3244960  0.02461742  0.2499159
## X1A3 -0.2095646 -0.5363964 -0.3244960  0.02461742  0.2499159
## X1A4 -0.1163162 -0.5393543  0.4140279 -0.18852836 -0.6990031
## X2A1  0.2732395  0.1055144 -0.7022520 -0.50585209 -0.4064021
## X2A2  0.4625312 -0.1863441  0.1491255 -0.15408696  0.1967051
## X2A3  0.4625312 -0.1863441  0.1491255 -0.15408696  0.1967051
## X2A4 -0.4625312  0.1863441 -0.1491255  0.15408696 -0.1967051
acp$co
##           Comp1      Comp2      Comp3       Comp4       Comp5
## X1A1  0.8669402 -0.2090912 -0.2665732  0.35528167 -0.08607687
## X1A2 -0.4256648 -0.8279683 -0.3588321  0.01096585  0.06631248
## X1A3 -0.4256648 -0.8279683 -0.3588321  0.01096585  0.06631248
## X1A4 -0.2362600 -0.8325341  0.4578377 -0.08398011 -0.18547293
## X2A1  0.5550005  0.1628695 -0.7765598 -0.22533223 -0.10783440
## X2A2  0.9394873 -0.2876361  0.1649050 -0.06863816  0.05219357
## X2A3  0.9394873 -0.2876361  0.1649050 -0.06863816  0.05219357
## X2A4 -0.9394873  0.2876361 -0.1649050  0.06863816 -0.05219357
head(acp$li)
##        Axis1      Axis2      Axis3       Axis4      Axis5
## 1 -1.7845214 -0.5863553  0.4908950 -0.06488756 -0.1104389
## 2 -0.9893441  0.7299776 -1.7877018 -0.71262193  0.4868305
## 3 -1.7845214 -0.5863553  0.4908950 -0.06488756 -0.1104389
## 4  3.9576880  1.9155468  0.3189614 -0.21639620 -0.1371970
## 5  2.6724357 -1.8673875 -0.4583878 -0.47814098 -0.3144518
## 6  2.1146879 -2.0827680  0.9750782  0.55442528  0.5151129
#gráfico de resultados
graf<-data.frame(acp$li)
plot(graf$Axis1,graf$Axis2,pch=16, xlab="Componente Principal1", ylab="Componente Principal2", cex.lab=1.5, cex.axis=1.2,cex=1.5, labels=TRUE)
## Warning in plot.window(...): "labels" não é um parâmetro gráfico
## Warning in plot.xy(xy, type, ...): "labels" não é um parâmetro gráfico
## Warning in box(...): "labels" não é um parâmetro gráfico
## Warning in title(...): "labels" não é um parâmetro gráfico

## Questão 2

Questão 3

ordq3 <- read.table("lnmb.txt",header=FALSE)
ordq3<-ordq3[,-1]
library(BBmisc)
library(factoextra)
dadosn<-normalize(dados, method = "standardize", range = c(0, 1), margin = 1L, on.constant = "quiet")
acp = prcomp(dadosn, scale. = TRUE)
autovalores <- get_eigenvalue(acp)
fviz_eig(acp)

library(ggplot2)
fviz_pca_var(acp, col.var = "contrib", 
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             repel = TRUE) 

fviz_pca_biplot(acp, repel = TRUE,col.var = "#2E9FDF",
                col.ind = "#696969")