library(ade4)
library(vegan)
library(ggplot2)
library(tidyverse)
library(cluster)
library(dendextend)
library(cowplot)
library(graphics)
library(factoextra)
#Carregando os arquivos do Numerical Ecology
load("C:/Users/luiz8/Documents/Ciências Biológicas/2022.1/Ecologia Numérica/R/NEwR-2ed_code_data/NEwR2-Data/Doubs.RData")
#Removendo o site 8, vazio
spe <- spe[-8, ]
spa <- spa[-8, ]
env <- env[-8, ]
Utilizando o pressuposto de 4 clusters e através de diferentes métodos
spe.dist<-vegdist(spe,method = "euclidean")
clust_spe.comp <- hclust(spe.dist, method = "complete")
clust_graf_spe.com <- plot(clust_spe.comp, hang=-1)
rect.hclust(clust_spe.comp, k = 4, border = 2:5)
clust_spe.si <- hclust(spe.dist, method = "single")
clust_graf_spe <- plot(clust_spe.si, hang=-1)
rect.hclust(clust_spe.si, k = 4, border = 2:5)
clust_spe.w <- hclust(spe.dist, method = "ward.D")
clust_graf_spe.w <- plot(clust_spe.w, hang=-1)
rect.hclust(clust_spe.w, k = 4, border = 2:5)
Para descobrir isso, utilizamos o método de K-means “silhouette”
fviz_nbclust(spe, kmeans, method = "silhouette")
Notamos, então, que existem 2 clusters, os quais estão representados abaixo.
plot(clust_spe.comp, hang=-1)
rect.hclust(clust_spe.comp, k = 2, border = 2:5)
Esse gráfico nos dá uma noção melhor da localização de cada grupo.
cluster.spe<-cutree(clust_spe.comp, k=2)
spa$cluster<-as.factor(cluster.spe)
postos<-c(1:7,9:30)
ggplot(data = spa, aes(x=X, y=Y)) +
geom_path(col = 3) +
geom_point(size=5,aes(color=cluster,shape = cluster)) +
geom_text(aes(y = Y, label = c(postos)), size = 3, color = 'white') +
geom_text(aes(x = 0, y = 50, label = "Foz"),col='blue') +
geom_text(aes(x = 80, y = 10, label = "Nascente"),col='blue') +
labs(y = "Coordenada Y", x = "Coordenada X")
Analisando algumas variáveis ambientais, tem-se que esses 2 clusters gerados variam da seguinte forma:
env$cluster<-as.factor(cluster.spe)
ggplot(data = env, aes(cluster, pho)) +
geom_boxplot(fill="purple") +
labs(title = "Concentração de fósforo")
ggplot(data = env, aes(cluster, nit)) +
geom_boxplot(fill="cyan4") +
labs(title = "Concentração de nitrato")
ggplot(data = env, aes(cluster, amm)) +
geom_boxplot(fill="coral3") +
labs(title = "Concentração de amônio")
ggplot(data = env, aes(cluster, oxy)) +
geom_boxplot(fill="cornsilk3") +
labs(title = "Oxigênio dissolvido")
ggplot(data = env, aes(cluster, bod)) +
geom_boxplot(fill="darkorange3") +
labs(title = "Demanda biológica de oxigênio")
É possível, então, notar que o cluster 1 possui pontos que se diferenciam significativamente entre os outros dentro do próprio cluster. Dito isso, vimos que o cluster 1 possui, caracteristicamente, menores concentrações de fósforo, nitrato e amônio, maior quantidade de oxigênio dissolvido e tem uma demanda biológica de oxigênio bem mais variável em relação ao cluster 2. A diferença mais notável e significativa é no oxigênio dissolvido, fator que é passível de ser determinante para a formação do cluster.