Pacotes necessários

Precisaremos dos seguintes pacotes antes das análises. Se não os tiver instalado, use o seguinte código antes. Note que é necessário que a internet esteja ligada.

install.packages("vegan")
install.packages("ggplot2")

Depois de isntalado, carregue os pacotes no seu computador.

library(vegan)
library(ggplot2)

Carregar os dados

Carregue os seus dados de comunidades (locais nas linhas e espécies nas colunas) usando o seguinte comando (se estiver em usando windows provavelmente precisará trocar o read.csv por read.csv2).

# Carregar os dados
comunidade <- read.csv("comun.csv")

Veja como se a tabela está correta.

comunidade
Sp1 Sp2 Sp3 Sp4 Sp5 Sp6
3 1 0 0 0 0
3 0 1 0 0 0
1 0 1 1 1 0
1 1 1 0 0 1
1 1 1 0 0 0
0 0 1 0 1 0

Rarefação

Agora podemos calcular a curva de rarefação de espécies.

# Calcular a rarefação
acumula <- specaccum(comunidade, method = "rarefaction")

Para vizualizar podemos utilizar o gráfico do pacote vegan. Mas não fica tão legal…

# Plot
plot(acumula)

Ao invés disso podemos gerar um gráfico utilizando o pacote ggplot2.

# Plot mais legal
plot_data <- data.frame("Locais" = c(0, acumula$sites),
           "Riqueza" = c(0, acumula$richness),
           "lower" = c(0, acumula$richness - acumula$sd),
           "upper" = c(0, acumula$richness + acumula$sd))
g <- ggplot(plot_data, aes(x = Locais, y = Riqueza)) +
  geom_point(color = "blue", size = 4) +
  geom_line(color = "blue", lwd = 2) +
  geom_ribbon(aes(ymin = lower, ymax = upper), 
              linetype=2, alpha=0.3, fill = "yellow") +
  ylab("Riqueza acumulada") +
  theme_classic() +
  theme(text = element_text(size = 16))
g

Para salvar seu gráfico use a seguinte função.

# altere os argumentos conforme necessário
ggsave("Rare.png") 

Também podemos verificar os resultados da rarefação baseada em inidvíduos.

# Plot indivíduos
plot_data <- data.frame("Individuals" = c(0, acumula$individuals),
                        "Riqueza" = c(0, acumula$richness),
                        "lower" = c(0, acumula$richness - acumula$sd),
                        "upper" = c(0, acumula$richness + acumula$sd))
g <- ggplot(plot_data, aes(x = Individuals, y = Riqueza)) +
  geom_point(color = "blue", size = 4) +
  geom_line(color = "blue", lwd = 2) +
  geom_ribbon(aes(ymin = lower, ymax = upper), 
              linetype=2, alpha=0.3, fill = "yellow") +
  ylab("Riqueza acumulada") +
  theme_classic() +
  theme(text = element_text(size = 16))
g

E para salvar usamos o mesmo códgio.

ggsave("Rare_ind.png")