Usando 2 metodos (quadrado aleatório e transectos inviesados)
base_culinaria <-read.csv("https://raw.githubusercontent.com/fplmelo/ecoaplic/main/content/collection/eco_num/com_cul.csv", row.names = 1) # adcionando a base de dados criada em aula ao R
base_q <- base_culinaria[ ,1:10] #separando em duas bases, a q dos quadrados
base_t <- base_culinaria[ ,11:20] #e a base t dos transectos
library(vegan) #carregando os pacotes
## Carregando pacotes exigidos: permute
## Carregando pacotes exigidos: lattice
## This is vegan 2.6-2
library(tidyverse)
## ── Attaching packages
## ───────────────────────────────────────
## tidyverse 1.3.2 ──
## ✔ ggplot2 3.3.6 ✔ purrr 0.3.4
## ✔ tibble 3.1.8 ✔ dplyr 1.0.10
## ✔ tidyr 1.2.0 ✔ stringr 1.4.1
## ✔ readr 2.1.2 ✔ forcats 0.5.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
specnumber(base_q) #verificando a frequencia da base dos quadrados
## arroz_c arroz_e milho ervilha feijao_preto carioca_c
## 9 5 0 2 0 2
## carioca_e mac_paraf mac_tubo mac_espag
## 3 0 0 4
specnumber(t(base_q)) #verificando o numero de especies por amostra da base dos quadrados
## q1 q2 q3 q4 q5 q6 q7 q8 q9 q10
## 1 1 3 5 3 1 3 2 2 4
Como encontrar o total de espécies?
abund_q <- rowSums(base_q) #usando a soma do numero de linhas para determinar a abundancia da base q
base_q %>% # Aq2ui eu criei minha solição...
rownames_to_column("species") %>% # foi criada uma coluna usando os nomes das linhas chamada de species
mutate(ab_spe=rowSums(base_q)) %>% # adicionou uma coluna nova a base q com as somas das abundâncias
filter(ab_spe > 0) %>% # deixamos apenas as somas maiores que zero, para nao incluir as especies ausentes
count() # contamos o total
## n
## 1 6
base_q %>%
rownames_to_column("species") %>%
mutate(ab_spe=rowSums(base_q)) %>%
filter(ab_spe > 0) %>% #repetimos o codigo anterior
arrange(desc(ab_spe)) %>% #colocamos em ordem decrescente porem precisamos usar outro comando para fixar
mutate(species=factor(species, level = species)) %>% #as ordens foram estabelecidas
ggplot(aes(x=species, y=ab_spe))+
geom_line(group = 1)+geom_point(size = 3)->graf_abund_q
graf_abund_q
base_t %>%
rownames_to_column("species") %>%
mutate(ab_spe=rowSums(base_t)) %>%
filter(ab_spe > 0) %>% # repetimos o mesmo para a base t dos transectos
arrange(desc(ab_spe)) %>%
mutate(species=factor(species, level = species)) %>%
ggplot(aes(x=species, y=ab_spe))+
geom_line(group = 1)+geom_point(size = 3)->graf_abund_t
graf_abund_t
# unimos os graficos para poder visualizar as diferenças e semelhanças entre eles
library(cowplot)
plot_grid(graf_abund_q, graf_abund_t, labels = c("quadrados", "transectos"), ncol = 2)
acum_q<-specaccum(t(base_q)) # criamos dois graficos para mostrar a curva acumulativa dos nossos dados
acum_t<-specaccum(t(base_t))
plot(acum_q, ci.type = "poly", col = "blue", lwd = 2, ci.lty = 0,
ci.col = "lightblue", main = "quadrantes", xlab = "Número de amostras",
ylab = "Número de espécies")
plot(acum_t, ci.type = "poly", col = "blue", lwd = 2, ci.lty = 0,
ci.col = "lightblue", main = "transectos", xlab = "Número de amostras",
ylab = "Número de espécies") # note que essa curva não parece assintotizada
specpool(base_q)# Esses são métodos de estimação de riqueza (chao, jack1, jack2, boot, etc... os .se são os valores do erro padrão)
## 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)# etimadores para transecto
## 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
install.packages("tidyverse")
## Warning: package 'tidyverse' is in use and will not be installed
sxrdctfvygbuhnijmnnwf