Instalando e ligando os pacotes
library(knitr)
## Warning: package 'knitr' was built under R version 4.3.3
#install.packages("tidyr")
library(tidyr)
## Warning: package 'tidyr' was built under R version 4.3.3
Entrada de dados
Inicialmente iremos entrar com os dados do tamanho das ilhas, criando o objeto areas, que irá armazenar estes valores. Através desse código, você consegue baixar diretamente a planilha com os dados das áreas amostradas.
# setwd("C:/Users/814252/Desktop/Relação espécie área")
# dir()
#areas<-read.csv("sar-areas.csv", header=FALSE)
areas<-read.csv("sar-areas - Copia.csv", header=FALSE)
Posteriormente iremos entrar com os parâmetros das equações que são dados no (artigo de Dengler and Oldeland (2010))
parametros<-read.csv("sar-model-data.csv", header=FALSE)
colnames(parametros)<-c("modelos", "b0", "b1", "b2")
Visualizando os parâmetros
kable(parametros)
| modelos | b0 | b1 | b2 |
|---|---|---|---|
| Power | 20.81 | 0.1896 | NA |
| PowerQuadratic | 1.35 | 0.1524 | 8.1e-03 |
| Logarithmic | 14.36 | 21.1600 | NA |
| MichaelisMenten | 85.91 | 42.5700 | NA |
| Lomolino | 1082.45 | 1.5900 | 3.9e+08 |
Funções Nosso objetivo agora é calcularmos a riqueza predita por cada um dos modelos para cada uma das áreas, com base nos parâmetros dados acima. Para isso iremos criar funções para cada um dos modelos (ou seja, 5 ao todo), que calculam a riqueza para cada uma das áreas que temos (ou outras tantas que podemos entrar!).
potencia<-function(b0, Areas, b1){b0 * Areas^b1}
pot_quadrada<-function(b0, b1, Areas, b2){10^(b0 + b1 * log10(Areas) + b2 * log10(Areas)^2)}
loga<-function(b0, b1, Areas){b0 + b1 * log10(Areas)}
MM<-function(b0, Areas, b1){b0 * (Areas / (b1 + Areas))}
Lomo<-function(b0, b1, b2, Areas){b0/(1 + b1^log10(b2/Areas))}
Obtenção dos resultados Utilizando as funções que criamos acima, iremos agora calcular as riquezas com base nos parâmetros e nas áreas dadas.
mod1<-potencia(parametros[1,"b0"], areas, parametros[1,"b1"])
mod2<-pot_quadrada(parametros[2,"b0"], parametros[2,"b1"], areas, parametros[2,"b2"])
mod3<-loga(parametros[3,"b0"], parametros[3,"b1"], areas)
mod4<-MM(parametros[4,"b0"], areas, parametros[4,"b1"])
mod5<-Lomo(parametros[5,"b0"], parametros[5,"b1"], parametros[5,"b2"], areas)
Organizando os resultados
mods<-cbind(mod1, mod2, mod3, mod4, mod5)
stdev<-apply(mods,1,sd)
media<-rowSums(mods)/5
mods<-cbind(areas, mods, media, stdev, stdev/media)
colnames(mods)<-c("Areas", "Power", "PowerQuadratic", "Logarithmic", "Michaelis-Menten", "Lomolino", "Média", "Stdev","Stdev/Media")
Visualizando os resultados
kable(mods)
| Areas | Power | PowerQuadratic | Logarithmic | Michaelis-Menten | Lomolino | Média | Stdev | Stdev/Media |
|---|---|---|---|---|---|---|---|---|
| 20 | 36.72378 | 36.47436 | 41.88979 | 27.46044 | 35.61923 | 35.63352 | 5.192206 | 0.1457113 |
| 100 | 49.82784 | 48.66313 | 56.68000 | 60.25812 | 48.64275 | 52.81437 | 5.336363 | 0.1010400 |
| 1000 | 77.10314 | 75.87523 | 77.84000 | 82.40214 | 75.34435 | 77.71297 | 2.800179 | 0.0360323 |
| 10000 | 119.30869 | 122.80046 | 99.00000 | 85.54583 | 115.07184 | 108.34537 | 15.664805 | 0.1445821 |
Plotando os resultados Terminamos agora com a visualização gráfica das curvas, para que possamos analisar as diferenças entre as predições dos diferentes modelos. Vamos ver graficamente o resultado dos nossos modelos
plot(mods$Areas, mods$PowerQuadratic, xlab="Areas", ylab="Especies")
points(mods$Areas, mods$Power, col="red")
points(mods$Areas, mods$Logarithmic, col="blue")
points(mods$Areas, mods$'Michaelis-Menten', col="purple")
points(mods$Areas, mods$Lomolino, col="brown")
Vamos ver também na escala log10, que como vimos na aula teórica,
“lineariza” as relações.
plot(log10(mods$Areas), log10(mods$PowerQuadratic), xlab="Áreas", ylab="Espécies" )
points(log10(mods$Areas), log10(mods$Power), col="red")
points(log10(mods$Areas), log10(mods$Logarithmic), col="blue")
points(log10(mods$Areas), log10(mods$'Michaelis-Menten'), col="purple")
points(log10(mods$Areas), log10(mods$Lomolino), col="brown")
Note que a relação aqui ficou log10 x log10 Agora iremos fazer um
boxplot para vermos um pouco da variação que os modelos geram na
previsão de riqueza das ilhas
long<-gather(mods[,2:6])
long<-gather(mods[,2:6])
l<-cbind(long, areas)
kable(l)
| key | value | V1 |
|---|---|---|
| Power | 36.72378 | 20 |
| Power | 49.82784 | 100 |
| Power | 77.10314 | 1000 |
| Power | 119.30869 | 10000 |
| PowerQuadratic | 36.47436 | 20 |
| PowerQuadratic | 48.66313 | 100 |
| PowerQuadratic | 75.87523 | 1000 |
| PowerQuadratic | 122.80046 | 10000 |
| Logarithmic | 41.88979 | 20 |
| Logarithmic | 56.68000 | 100 |
| Logarithmic | 77.84000 | 1000 |
| Logarithmic | 99.00000 | 10000 |
| Michaelis-Menten | 27.46044 | 20 |
| Michaelis-Menten | 60.25812 | 100 |
| Michaelis-Menten | 82.40214 | 1000 |
| Michaelis-Menten | 85.54583 | 10000 |
| Lomolino | 35.61923 | 20 |
| Lomolino | 48.64275 | 100 |
| Lomolino | 75.34435 | 1000 |
| Lomolino | 115.07184 | 10000 |
boxplot(value ~ V1, data=l, xlab="Tamanho das ilhas", ylab="Número de espécies")
Note que a relação aqui ficou log10 x log10 Agora iremos fazer um boxplot para vermos um pouco da variação que os modelos geram na previsão de riqueza das ilhas
long<-gather(mods[,2:6])
l<-cbind(long, areas)
kable(l)
| key | value | V1 |
|---|---|---|
| Power | 36.72378 | 20 |
| Power | 49.82784 | 100 |
| Power | 77.10314 | 1000 |
| Power | 119.30869 | 10000 |
| PowerQuadratic | 36.47436 | 20 |
| PowerQuadratic | 48.66313 | 100 |
| PowerQuadratic | 75.87523 | 1000 |
| PowerQuadratic | 122.80046 | 10000 |
| Logarithmic | 41.88979 | 20 |
| Logarithmic | 56.68000 | 100 |
| Logarithmic | 77.84000 | 1000 |
| Logarithmic | 99.00000 | 10000 |
| Michaelis-Menten | 27.46044 | 20 |
| Michaelis-Menten | 60.25812 | 100 |
| Michaelis-Menten | 82.40214 | 1000 |
| Michaelis-Menten | 85.54583 | 10000 |
| Lomolino | 35.61923 | 20 |
| Lomolino | 48.64275 | 100 |
| Lomolino | 75.34435 | 1000 |
| Lomolino | 115.07184 | 10000 |
boxplot(value ~ V1, data=l, xlab="Tamanho das ilhas", ylab="Número de espécies")
“Perguntas” P1: Agora que avaliamos os modelos para as ilhas do
exercício, vamos assumir que estamos pensando em amostrar outras 4
ilhas, cujos tamanhos são 20, 100, 1000 e 10000 ha. Como os modelos se
comportam para ilhas com estes tamanhos? Onde vai haver a maior
diferença entre os modelos? Como isso pode afetar a utilização destes
modelos para a tomada de decisão, caso estejamos por exemplo,
interessados em entender um determinado impacto nestas ilhas? R:
areas<-read.csv("sar-areas - Copia.csv", header=FALSE)
mod1<-potencia(parametros[1,"b0"],areas, parametros[1,"b1"])
plot(log10(mods$Areas), log10(mods$PowerQuadratic), xlab="Áreas", ylab="Espécies" )
points(log10(mods$Areas), log10(mods$Power), col="red")
points(log10(mods$Areas), log10(mods$Logarithmic), col="blue")
points(log10(mods$Areas), log10(mods$'Michaelis-Menten'), col="purple")
points(log10(mods$Areas), log10(mods$Lomolino), col="brown")
Gere figuras com estas novas ilhas inclusas e discuta os resultados P2: Discuta alguns fatores ecológicos que podem afetar o número de espécies em uma ilha.
Além da área, vários fatores ecológicos influenciam o número de espécies em uma ilha.Como por exemplo,Isolamento geográfico, diversidade de habitats, a história geológica da ilha, a pressão antrópica e as interações ecológicas, como competição e predação.