Esse exercício consistiu em dividir a turma em dois grupos, ambos fazendo dois tipos de amostragem para a simulação de uma comunidade biológica criada em sala utilizando massas e grãos. Um dos grupos realizou a amostragem por aleatorização das amostras, coletando dez amostras que somadas correspondiam a 10% da área total do ambiente hipotetizado para a prática. Enquanto o outro usou dois transectos estrategicamente localizados no ambiente, gerando a partir destes também dez amostras perfazendo 10% da área total.
Para dar início à atividade, foi necessária a instalação do Rtools, uma extensão do R para ser usada no Windows, servindo como um conjunto ou compilado de pacotes que podem ser usados pelo RStudio. Após isso, intalei o pacote ‘vegan’ pelo comando ‘installpackage(“vegan”)’. Este pacote contem várias funções muito importantes para o estudo de comunidades em ecologia. Junto a este também instalei o ‘tidyverse’ pela função ‘installpackage(“tidyverse”)’, com o objetivo de facilitar a exploração das funcionalidades do RStudio através de diferentes comandos. E também instalei o pacote ‘cowplot’ pelo comando ‘installpackage(“cowplot”)’, para que eu consiga plotar os gráficos necessários.
library(vegan) # Através desta função eu pude rodar o pacote 'vegan' após a instalação.
library(tidyverse) # Através desta função eu pude rodar o pacote 'tidyverse' após a instalação.
library(cowplot) # Através desta função eu pude rodar o pacote 'cowplot' após a instalação.Agora farei o upload do arquivo contendo a base de dados.
base <-read.csv("C:/Users/EXCLUSIVE/Downloads/com_cul.csv", row.names = 1) # Aqui eu coloquei o caminho do Windows de onde coloquei o arquivo após baixá-lo no site disponibilizado pelo professor
base## q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10
## arroz_c 0 1 7 6 1 4 4 1 1 5 3 8 5 6 3 0 0 0 0 3
## arroz_e 1 0 0 1 0 0 8 4 0 3 0 1 8 1 1 0 0 0 1 0
## milho 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## ervilha 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
## feijao_preto 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0
## carioca_c 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 1
## carioca_e 0 0 0 2 2 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
## mac_paraf 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
## mac_tubo 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## mac_espag 0 0 0 3 1 0 0 0 6 4 16 9 0 0 0 0 2 2 1 0
Já que estou tratando de métodos de amostragem diferentes, eu devo separá-los para conseguir manipular os dados de cada um.
base_q<-base[,1:10] # Com este comando eu pude fazer a separação dos dados disponibilizados, aderindo as colunas de 1 a 10 e chamando-as de 'base_q', portanto as correspondentes a amostragem aleatória.
base_t<-base[,11:20] # Aqui eu pude fazer a separação dos dados disponibilizados, aderindo as colunas de 11 a 20 e chamando-as de 'base_t', portanto as correspondentes a amostragem por transectos.
base_q## q1 q2 q3 q4 q5 q6 q7 q8 q9 q10
## arroz_c 0 1 7 6 1 4 4 1 1 5
## arroz_e 1 0 0 1 0 0 8 4 0 3
## milho 0 0 0 0 0 0 0 0 0 0
## ervilha 0 0 1 0 0 0 1 0 0 0
## feijao_preto 0 0 0 0 0 0 0 0 0 0
## carioca_c 0 0 1 1 0 0 0 0 0 0
## carioca_e 0 0 0 2 2 0 0 0 0 8
## mac_paraf 0 0 0 0 0 0 0 0 0 0
## mac_tubo 0 0 0 0 0 0 0 0 0 0
## mac_espag 0 0 0 3 1 0 0 0 6 4
base_t## t1 t2 t3 t4 t5 t6 t7 t8 t9 t10
## arroz_c 3 8 5 6 3 0 0 0 0 3
## arroz_e 0 1 8 1 1 0 0 0 1 0
## milho 0 0 0 0 0 0 0 0 0 0
## ervilha 0 0 1 0 0 0 0 0 0 0
## feijao_preto 0 0 6 0 0 0 0 0 0 0
## carioca_c 0 0 0 0 0 2 0 0 0 1
## carioca_e 0 0 0 0 0 0 0 0 0 0
## mac_paraf 0 0 0 0 0 0 1 0 0 0
## mac_tubo 0 0 0 0 0 0 0 0 0 0
## mac_espag 16 9 0 0 0 0 2 2 1 0
O resultado mostra que a matriz de dados de base_q possui 10 linhas e 10 colunas.
dim(base_q)## [1] 10 10
O resultado mostra que a matriz de dados de base_t possui 10 linhas e 10 colunas.
dim(base_t)## [1] 10 10
colSums(base_q) # Com esse código posso mostrar a abundância de cada uma das amostras. O resultado demonstra uma discrepância significativa na distribuição da abundância das espécies nas amostras.## q1 q2 q3 q4 q5 q6 q7 q8 q9 q10
## 1 1 9 13 4 4 13 5 7 20
colSums(base_t) # Com esse código posso mostrar a abundância de cada uma das amostras. O resultado demonstra uma maior discrepância na distribuição da abundância das espécies nas amostras se comparado ao 'base_q', fator que pode diminuir a diversidade do método.## t1 t2 t3 t4 t5 t6 t7 t8 t9 t10
## 19 18 20 7 4 2 3 2 2 4
Agora que organizamos os dados está na hora de fazer as questões propostas.
specnumber(t(base_q)) # Com este comando eu pude contar o número de espécies presentes em cada amostra da amostragem aleatória, mas meu objetivo é saber o total de espécies encontradas somando todas as amostras, então tenho que usar outros comandos.## q1 q2 q3 q4 q5 q6 q7 q8 q9 q10
## 1 1 3 5 3 1 3 2 2 4
base_q %>% # Vou usar os próximos comandos para saber o total de espécies encontradas para a amostragem aleatória.
rownames_to_column("species") %>% # Aqui eu apenas converti os nomes de linha em coluna de dados.
mutate(ab_spe=rowSums(base_q)) %>% # Usei este para criar uma coluna para pôr os dados da soma do número de espécies de todas as amostragens desse método.
filter(ab_spe > 0) %>% # Com este comando eu escolhi apenas os números maiores que zero, já que zero representa a ausência de espécies e, portanto, não me interessa.
count() # Contei os casos em que aparecem espécies em cada linha.## n
## 1 6
Como visto, o resultado da riqueza utilizando o método por amostragem aleatória foi de 6 espécies, sendo o total de 10 espécies.
specnumber(t(base_t)) # Com este comando eu pude contar o número de espécies presentes em cada amostra da amostragem por transectos, mas meu objetivo é saber o total de espécies encontradas somando todas as amostras, então tenho que usar outros comandos.## t1 t2 t3 t4 t5 t6 t7 t8 t9 t10
## 2 3 4 2 2 1 2 1 2 2
base_t %>% # Vou usar os próximos comandos para saber o total de espécies encontradas para a amostragem por transectos.
rownames_to_column("species") %>% # Novamente converti as linhas em colunas.
mutate(ab_spe=rowSums(base_t)) %>% # Usei este para criar uma coluna para pôr os dados da soma do número de espécies de todas as amostragens desse método.
filter(ab_spe > 0) %>% # E mais uma vez escolhi apenas os números maiores que zero.
count() # Agora é só contar os casos em que aparecem espécies em cada linha.## n
## 1 7
Já na amostragem por transectos o resultado foi de 7 espécies encontradas, uma espécie a mais que no método anterior, sendo o total também de 10 espécies.
Agora vou plotar gráficos e organizá-los usando alguns outros comandos presentes no library vegan, para que eu consiga observar a distribuição das abundâncias das espécies das duas formas de amostragem. Para isso usei os comandos: ‘arrange(desc)’, ‘ggplot+’, geom_line()+geom_point() e graf_abund_.
base_q %>%
rownames_to_column("species") %>% # Converti as linhas em colunas.
mutate(ab_spe=rowSums(base_q)) %>% # Usei este para criar uma coluna para pôr os dados da soma do número de espécies de todas as amostragens desse método.
filter(ab_spe > 0) %>% # Novamente escolho apenas os números maiores que zero.
arrange(desc(ab_spe)) %>% # Com esse comando eu posso deixar as abundâncias em ordem decrescente.
mutate(species=factor(species, level = species)) %>% # Uso este 'mutate' para fixar a o comando de deixar em ordem decrescente.
ggplot(aes(x=species, y=ab_spe))+ # Uso este comando para que eu possa visualizar os dados na forma de gráfico.
geom_line(group = 1)+geom_point(size = 3)->graf_abund_q # Aqui é onde eu finalmente traço as linhas do gráfico.
graf_abund_q # Por fim eu ploto o gráfico.base_t %>%
rownames_to_column("species") %>% # Tornei as linhas em colunas.
mutate(ab_spe=rowSums(base_t)) %>% # Usei este para criar uma coluna para pôr os dados da soma do número de espécies de todas as amostragens desse método.
filter(ab_spe > 0) %>% # Novamente escolho apenas os números maiores que zero.
arrange(desc(ab_spe)) %>% # Com esse comando eu posso deixar as abundâncias em ordem decrescente.
mutate(species=factor(species, level = species)) %>% # Uso este 'mutate' para fixar a o comando de deixar em ordem decrescente.
ggplot(aes(x=species, y=ab_spe))+ # Uso este comando para que eu possa visualizar os dados na forma de gráfico.
geom_line(group = 1)+geom_point(size = 3)->graf_abund_t # Aqui é onde eu finalmente traço as linhas do gráfico.
graf_abund_t # Por fim eu ploto o gráfico.plot_grid(graf_abund_q, graf_abund_t, labels = c("Quadrados", "Transectos"), ncol = 2) # Juntei os gráficos para melhor comparação.Primeiramente, observando os gráficos podemos aferir que ambos os métodos não diferiram significativamente em número de espécies (riqueza), já que os intervalos de confiança permaneceram intercruzados. No entanto, quanto ao número de espécies a situação é diferente, pois em ambos os métodos a curva de rarefação se mostrou ineficiente para demonstrar a riqueza de espécies devido à ausência de uma platô significativo, o que acaba demonstrando insuficiência no esforço amostral, fazendo-se necessária a confecção de mais amostras para reforçar a base de dados. Ainda assim vale ressaltar a diferença nítida observada entre as curvas dos dois métodos, pois o ‘Quadrante’ da amostragem aleatória mostra o início do que seria o platô, o que pode significar uma maior proximidade do número real de espécies. Já o ‘Transecto’ permanece em uma constante ascendente, evidenciando a necessidade de ainda mais esforço amostral que o ‘Quadrante. Com isso, pode-se concluir que o ’Quadrante’ tende a ser mais próximo do número real de espécies se comparado ao ‘Transecto’.
acum_q<-specaccum(t(base_q)) # Com este comando é possível encontrar a curva de acumulação/rarefação de espécies através do número de espécies por amostra.
plot(acum_q, ci.type = "poly", col = "green", lwd = 2, ci.lty = 0,
ci.col = "lightcyan", main = "Quadrantes", xlab = "Número de amostras",
ylab = "Número de espécies")acum_t<-specaccum(t(base_t))
plot(acum_t, ci.type = "poly", col = "red", lwd = 2, ci.lty = 0,
ci.col = "lightyellow", main = "Transectos", xlab = "Número de amostras",
ylab = "Número de espécies") # note que essa curva não parece assintotizadaspecpool(base_q)## Species chao chao.se jack1 jack1.se jack2 boot boot.se n
## All 10 12.025 3.089144 12.7 2.056696 13.67778 11.35255 1.588261 10
specpool(base_t)## Species chao chao.se jack1 jack1.se jack2 boot boot.se n
## All 10 10.3 0.7035624 11.8 1.272792 9.133333 11.3759 1.480355 10
O estimador ‘CHAO’ foi muito acertivo no que diz respeito a ‘base_t’, diferindo apenas 0.3 das 10 espécies. O estimador ‘jack1’ do ‘base_t’ chegou mais próximo do real, diferindo 1.8 das totais 10 espécies. O estimador ‘jack2’ em ‘base_t’ acabou sendo mais correto, diferindo aproximadamente 0.87 das 10 espécies. O estimador ‘boot’ do ‘base_q’ foi mais fidedigno ao resultado real, diferindo 1.35255 no total de 10 espécies.
O método mais acertivo utilizando os estimadores de riqueza ‘chao’, ‘jack1’, ‘jack2’ e ‘boot’ acabou sendo o por amostragem por transectos.
A partir do resultado de 2.017347, pode-se inferir que a diversidade das amostras coletadas é baixa, provavelmente devido a discrepância da abundância entre as espécies, distribuição irregular destas no ambiente e poucos indivíduos amostrados. Isso pode indicar a necessidade de um esforço amostral maior.
Shannon_total <-diversity(colSums(base_q), index = "shannon") # Usei este comando para calcular o índice de diversidade de Shannon total de todas as amostras da amostragem aleatória.
Shannon_total## [1] 2.017347
Observa-se que, pelo valor obtido de 1.92467 (logo abaixo) e por meio da comparação com o Shannon total de ‘base_q’, a diversidade da amostragem por transectos é ainda menor, indicando uma distribuição irregular das espécies no ambiente, assim como discrepância na abundância entre as espécies e poucos indivíduos amostrados no total, indicando a necessidade de um esforço amostral maior. Portanto, por comparação, pode-se ver que a diversidade da amostragem Aleatória foi maior devido ao maior número de índive de diversidade de Shannon.
Shannon_total <-diversity(colSums(base_t), index = "shannon") # Usei este comando para calcular o índice de diversidade de Shannon total de todas as amostras da amostragem por transectos.
Shannon_total## [1] 1.92467
Aqui podemos tirar as mesmas conclusões do teste de Shannon, pois o resultado de 0.8436499 da amostragem aleatória mostra uma maior diversidade comparada a amostragem por transectos (0.8190825).
Simpson_total <-diversity(colSums(base_q), index = "simpson") # Usei este comando para calcular o índice de diversidade de Simpson total de todas as amostras da amostragem aleatória.
Simpson_total## [1] 0.8436499
Aqui podemos tirar as mesmas conclusões do teste de Shannon, pois o resultado de 0.8436499 da amostragem aleatória mostra uma maior diversidade comparada a amostragem por transectos (0.8190825).
Simpson_total <-diversity(colSums(base_t), index = "simpson") # Usei este comando para calcular o índice de diversidade de Simpson total de todas as amostras da amostragem por transectos.
Simpson_total## [1] 0.8190825