Ferramentas do usuário

Ferramentas do site


ecovirt:roteiro:neutr:biogeor_passo

Biogeografia de ilhas - Roteiro em R com código base

Em 1967 Robert MacArthur e Edward Wilson publicaram um dos livros mais importantes da ecologia, “Teoria da biogeografia de ilhas”. Nele, propuseram a ideia revolucionária de que a quantidade de espécies em um local resulta apenas do balanço entre migrações e extinções. O roteiro abaixo vai ajudá-lo a entender a dedução do modelo básico que sustenta esta teoria.

Preparando o R

Este exercício é feito em R, mas você não precisa conhecer a linguagem R, porque damos os comandos já prontos para executar. Eles estão reproduzidos nesta página, e também em um arquivo, abaixo. A única coisa que você precisa saber é como enviar os comandos escritos neste arquivo para o R. Para isso você pode copiar os comandos desta página e colar na linha de comando do R. Mas é bem mais prático usar o arquivo de comandos, ou script. Para isso, siga os seguintes passos:

Executando o script
  1. Crie um diretório em seu computador para este exercício
  2. Baixe neste diretório os arquivos:
    1. funções: biogeog_func.r
  3. Abra o arquivo de comandos em um editor de códigos.
  4. Carregue as funções deste exercício com o comando
  5. Execute os comandos enviando-os para o R, começando por carregar as funções do arquivo biogeog_func.r:
source("biogeog_func.r")

Relação espécies-área

ilhas.jpg

“A relação espécies-área é uma das poucas leis genuínas em ecologia” (Gotelli, 2007).

Relação empírica

O aumento de espécies com a área em que elas ocorrem (ilhas, lagos, etc) é dos primeiros padrões empíricos identificados por ecólogos e biogeográfos.

Vamos analisar a forma de uma relação espécie-área típica: espécies de plantas vasculares endêmicas em regiões da California foram coletados por Johnson e colaboradores e publicados em um trabalho em 1968 (ver referências no fim da página). Estão disponíveis neste site .

# Número de espécies endêmicas de plantas vasculares em nove localidades da Califórnia.

# Dados
(calif=data.frame(
  local=c("Tiburon","SanFran","StaBarbara","StaMonica","Marin",
    "StaCruz","Monterey","SanDiego","California"),
  area=c(5.9,45,110,320,529,1386,3324,4260,24520),
  riqueza=c(370,640,680,640,1060,1200,1400,1450,2525)
  ))

# Gráfico
plot(riqueza~area,data=calif,xlab="Área",ylab="Número de espécies",main="Menina eu vou pra Califórnia...",
 bty="l",font.lab=2)

A lei é empírica, e muitas funções matemáticas foram propostas para descrevê-la. Um das mais simples e das mais usadas é a função de potência:

$$S\ = \ c A^z$$

onde S é o número de espécies, A é a área e c e z são constantes.

Ajuste este modelo com uma regressão não linear gaussiana (função nls do R):

## Ajuste da funcao de potencia
mod1 = nls(riqueza~C*area^z, data=calif, start=c(C=245, z=0.22))
## Coeficientes estimados
(cf1 = coef(mod1))

E adicione a curva do modelo ao gráfico:

## Curva do modelo
curve(cf1[1]*x^cf1[2] ,add=T, col="blue", lwd=1.5)

Agora observe o que acontece quando transformamos as escalas do gráfico em logaritmos:

# Ajuste da regressao linear em escala log
mod2=lm(log10(riqueza)~log10(area),data=calif)
#Resumo da regressão
summary(mod2)

Note que o que era uma função de potência, na escala logaritmica vira uma equação de reta:

$$\log \ S\ = \ log \ c+z log \ A$$

Nesta regressão a inclinação corresponde ao expoente z da função de potência e corresponde a dez elevado ao intercepto corresponde ao parâmetro c. Compare os valores obtidos com a regressão linear e não-linear:

## coeficientes
cf2=coef(mod2)
## z
(m2.z=cf2[2])
# C
(m2.C=10^(cf2[1]))

Faça o gráfico em escala log e adicione a linha da regressão:

# Gráfico
plot(riqueza~area,data=calif,log="xy",xlab="Área",ylab="Número de espécies",main=c("Menina eu vou pra Califórnia...",
 paste("C = ",round(m2.C,2),"; z = ",round(m2.z,2))),bty="l",font.lab=2)
abline(mod2,col=2)
par(mfrow=c(1,1))

Agora vamos brincar um pouco com a relação espécies-área variando os parâmetros c e z. Rode os comandos abaixo:

par(mfrow=c(2,2))
## variando z
spp.area(c = 1.5 , z = .15, ylim=c(1,40))
spp.area(c = 1.5 , z = .28, ylim=c(1,40))
## variando c
spp.area(c = 1.5 , z = .25, ylim=c(1,40))
spp.area(c = 2.1 , z = .25, ylim=c(1,40))

Note que os dois eixos do gráfico da direita estão em escala logarítmica. Note também que a função lhe permite variar os dois parâmetros da equação: c e z. Altere os valores desses parâmetros e interprete o significado biológico.

Um modelo colonização-extinção

ilhas2.jpg

Nos modelos clássicos de metapopulações a extinção e a imigração determinam a persistência de uma espécie em um sistema de manchas. Aqui faremos basicamente a mesma coisa, só que desta vez consideraremos várias espécies ao mesmo tempo e em vez do tamanho da população nosso interesse será o número de espécies em cada mancha, que no caso serão ilhas.

Colonização

ilhas3.jpeg

Neste exercício usaremos o sistema ilha-continente, que é equivalente ao modelo clássico de metapopulações com chuva de propágulos. Nesse sistema, há uma ilha (mais para frente será um arquipélago!) que pode receber propágulos vindos do continente, que assumiremos como um reservatório de n espécies e como uma fonte infinita de propágulos.

Imagine que a cada momento chega um determinado número de propágulos vindos do continente à nossa ilha. Se é assim, é de se esperar que com o passar do tempo todas as espécies presentes no continente estejam também presentes na nossa ilha, certo? Quer ver se isso é verdade? A seguir vamos simular um sistema ilha-continente.

Figurinhas

http://incondicionalmentevasco.wordpress.com/2008/03/26/futebol-e-chiclete/

Antes de continuarmos, vamos fazer um exercício de imaginação. Pense nas espécies como figurinhas (tá, as figurinhas não precisam ser de jogadores do Vasco da década de 80), pense nas ilhas desertas como álbuns vazios e pense na chuva de propágulos como pacotinhos de figurinhas vindos da fábrica de figurinhas (a nossa fonte de propágulos). Se em cada pacote vêm 5 figurinhas, quanto tempo leva para completar um álbum com 100 figurinhas? Vamos assumir que que o dono da empresa de figurinhas não é sacana e produz a mesma quantidade de cada uma dos 100 tipos diferentes de figurinha e também que você é meio mão-de-vaca e compra no máximo um pacote por vez. :-(

# Primeiro criamos todas as figurinhas possíveis
(figu=paste("fig.",1:100,sep=""))
# Agora simulamos uma ida à banca
# Um pacote
sample(figu,5,replace=T)
# Outro pacote
sample(figu,5,replace=T)
# E mais outro
sample(figu,5,replace=T)

Vamos simular uma viagem no tempo e ver o que aconteceu depois de 1000 idas à banca.

album=numeric()
cpl=numeric()
for(i in 1:1000){
	album=union(album,sample(figu,5,replace=T))
	cpl[i]=length(unique(album))
	}
par(mfrow=c(1,1))
plot(1:1000,cpl,xlim=c(0,500),ylim=c(0,100),type="l",bty="l",
 xlab="Número de pacotes",ylab="Número de figurinhas (excluindo as repetidas)",
 main="Álbum de figurinhas",lwd=2,col=2,font.lab=2)
abline(h=100,lty=3)

Através de uma simulação como essa podemos ter idéia de quantos pacotinhos teremos que comprar para completar o álbum. Mais um serviço de utilidade pública! Note que a velocidade com que o álbum vai sendo preenchido vai ficando cada vez menor. A gente já sabia disso: quanto mais figurinhas temos, mais repetidas saem.

Mas completar esse álbum foi muito fácil! Isso nunca ocorre na vida real! Mas e se fôssem mais figurinhas? E se eu comprasse mais pacotes por vez? E se houvesse algumas figurinhas mais raras? Para responder a estas e muitas outras perguntas criamos a função chove.chuva. Seus argumentos são:

  • Nspp: número de espécies colonizadoras
  • chuva: número de propágulos por evento de colonização
  • abund: abundância de cada propágulo no continente
  • tempo: quantos eventos de colonização

Com ela podemos, por exemplo, simular que há 100 espécies, chegam 5 propágulos por ano na ilha , que no continente há 100 propágulos para cada espécie e irão se passar 100 anos.

chove.chuva( Nspp = 100 , chuva = 5 , abund = rep(100,100) , tempo = 100)

Podemos avaliar o efeito da premissa de igual probabilidade de colonização. Veja o que acontece se no continente houver 100 indivíduos de uma única espécie e 99 espécies com apenas um indivíduo:

chove.chuva( Nspp = 100 , chuva = 5 , abund = c(100,rep(1,99)) , tempo = 100)

Extinção

http://www.dodo.blog.br/tag/funny/

No meu tempo, tínhamos que colar as figurinhas no álbum com cola. Sempre usávamos cola branca, porque usar cola de bastão era garantir que perderíamos algumas figurinhas pelo caminho. Vamos imaginar que nossas figurinhas, depois de coladas, têm uma certa chance de descolarem e se perderem. Como fica nosso modelo?

Figurinhas auto-descolantes!

No nosso modelo antigo, que não considerava a possibilidade de extinção, a ilha ficava sempre com o mesmo número de espécies do continente. Então adaptamos a função preexistente chove.chuva para que ela passe a exterminar algumas espécies ao acaso. A nova função chama-se dancando.na.chuva, e tem um novo argumento, tx.ext, que é a probabilidade de cada espécie se extinguir a cada unidade de tempo (medido por eventos de colonização).

dancando.na.chuva(Nspp=100, chuva=5, abund=rep(100,100), tempo=100, tx.ext=0.1)

Ahã! Agora parece que ficou beeeem mais difícil completar o álbum, não é mesmo?! Será que é possível completá-lo, dado tempo suficiente? Experimente:

dancando.na.chuva(Nspp=100, chuva=5, abund=rep(100,100), tempo=1000, tx.ext=.1)

O que está acontecendo aqui??? O que acontece quando aumentamos a taxa de extinção? E se aumentamos a chuva? Será que o dono da fábrica de figurinhas é macomunado com o dono da fábrica de cola? Use a função para encontrar as respostas.

O equilíbrio de MacArthur & Wilson

http://www.1br.biz/s/papeis-de-parede/animais/ratinho-equilibrista-3171.html

A idéia básica deste modelo é que o número de espécies de uma ilha é um balanço entre a imigração de novas espécies vindas do continente e a extinção das espécies presentes. Quando as taxas de imigração ($ \lambda $) e extinção ($\mu$) se igualam, o número de espécies (S) atinge um equilíbrio dinâmico:

$$\frac{dS}{dt} \ = \ \lambda-\mu$$

O modelo assume que quanto mais espécies presentes na ilha, menor é a chegada de novas espécies do continente, pelo processo de esgotamento ilustrado com as figurinhas. Neste caso, a função que descreve a taxa de imigração é:

$$\lambda=I-(I/P)\ S$$

onde I é a taxa de imigração máxima (quando a ilha está deserta) e P é o número de espécies no continente.

Faça o gráfico:

par(mfrow=c(1,1))
I = 0.5 ; P = 100
curve(I-I*x/P,0,P,bty="n",xaxt="n",yaxt="n",xlab="Número de espécies",
 ylab="Taxa de imigração",font.lab=2,lwd=2)
abline(v=0)
abline(h=0)
mtext("P",side=1,at=P,font=2)
mtext("I",side=2,at=I,font=2,las=1)

O modelo assume também uma taxa de extinção. Supondo que todas as espécies se extingam com uma probabilidade igual, constante e independente, o número médio, ou esperado, será proporcional ao número de espécies na ilha: quanto mais espécies, maior o número que pode ser sorteado para extinguir-se. Quando não há espécies, a extinção é zero. Assim, o modelo mais simples para a relação entre taxa de extinção e riqueza de espécies na ilha é:

$$\mu=(E/P)S$$

onde E é a taxa máxima de extinção, que ocorre quando o número de espécies da ilha é igual ao do continente. Veja o gráfico:

E = 0.8 
curve((E/P)*x,0,P,bty="n",xaxt="n",yaxt="n",xlab="Número de espécies",
 ylab="Taxa de extinção",font.lab=2,lwd=2)
abline(v=0)
abline(v=P,lty=3)
abline(h=0)
abline(h=E,lty=3)
mtext("P",side=1,at=P,font=2)
mtext("E",side=2,at=E,font=2,las=1)

Juntando tudo…

$${dS}/{dt}\ = \ I-(I/P)\ S-(E/P)\ S$$

E resolvendo para a condição de equilíbrio $${dS}/{dt}\ =0$$ temos:

$$\hat S \ = \ \frac{ I P }{I+E}$$

$$\hat T \ = \ \frac{ I E }{I+E}$$

que são, respectivamente, o número de espécies no equilíbrio ($\hat S$) e a taxa de substituição de espécies no equilíbrio ($ \hat T$). Note que este não é um equilíbrio estático quanto à composição, isto é, apesar de o número de espécies permanecer constante, a composição de espécies está sempre se alterando, com novas espécies chegando e velhas espécies se extinguindo.

Utilize a função grafeq para criar um gráfico do modelo:

# testando...
grafeq(E = .5 , I = .5 , P = 100)

Agora experimente mudar os valores de E, I e P. O que acontece com o ponto de equilíbrio? Para dar uma mãozinha, desenvolvemos estas (des)animações:

Aumentando apenas E
a=seq(from=.01,to=1,by=.01)
for(i in 1:100){
	grafeq(E=a[i],I=.5,P=100)
	Sys.sleep(.04)
	}
Aumentando apenas I
for(i in 1:100){
	grafeq(E=.5,I=a[i],P=100)
	Sys.sleep(.04)
	}
Aumentando I e E
for(i in 1:100){
	grafeq(E=a[i],I=a[i],P=100)
	Sys.sleep(.04)
	}
Aumentando I e diminuindo E
b=seq(from=1,to=.01,by=-.01)
for(i in 1:100){
	grafeq(E=b[i],I=a[i],P=100)
	Sys.sleep(.04)
	}
aumentando E e diminuindo I
for(i in 1:100){
	grafeq(E=a[i],I=b[i],P=100)
	Sys.sleep(.04)
	}

Adicionando ilhas

http://www.okstate.edu/artsci/botany/bisc3034/lnotes/islands.htmAté aqui tudo correu bem? Pois então vamos brincar um pouco mais com nosso modelo, desta vez trabalhando com mais de uma ilha ao mesmo tempo. Nosso primeiro caso será o de duas ilhas igualmente distantes da costa, mas com diferentes tamanhos, como no topo da figura ao lado (A).

Neste caso, vamos assumir que a probabilidade de imigração não difere entre as ilhas, afinal elas estão à mesma distância do continente. No entanto, assumiremos que a taxa de extinção será maior na ilha menor: quanto menor a ilha, menor o número de indivíduos que cabe nela e, assim, maior a chance de uma população se extinguir. Agora parece razoável?

Nosso segundo exemplo será o de duas ilhas de mesmo tamanho, mas que estão a distâncias diferentes da costa,como no fundo da figura ao lado (B). Neste caso como têm praticamente a mesma área, as duas ilhas tem taxas de extinção semelhantes. Agora o problema passa a ser a chegada de novos propágulos: é razoável supor que quanto mais distante uma ilha fôr do continente, menor a taxa de imigração.

Com a função MW você poderá fazer a combinação de ilhas que você quiser e ver se no final consegue encontrar uma relação espécies-área, nosso ponto de partida. Afinal, foi para explicar essa relação que esta teoria foi criada. ;-)

Esta função traça as retas de extinção e colonização para cada ilha, dadas as áreas e distâncias das ilhas. Para isso, a função calcula primeiro as taxas de extinção e colonização máximas de cada ilha, como funções lineares de suas áreas e distâncias ao continente, respectivamente. Os argumentos da função:

  • areas : área de cada ilha, em qualquer unidade
  • dist: distância de cada ilha ao continente, em qualquer unidade
  • P: total de espécies colonizadoras (Pool de espécies)
  • a, b : intercepto e inclinação da relação linear entre taxa máxima de extinção e área.
  • c, d : intercepto e inclinação da relação linear entre taxa máxima de colonização e área.

Varie áreas, distâncias e ambas fornecendo vetores com valores diferentes para os dois primeiros argumentos, veja os exemplos a seguir. Não se preocupe com os demais argumentos, eles estão compatíveis com as escalas de distância e área.

Ilhas com diferentes áreas, mas com as mesmas distâncias
MW(areas=c(1,15,30,60,90) , dist=rep(50,5) , P=100)
Ilhas com as mesmas áreas, mas com diferentes distâncias
MW(areas=rep(50,5) , dist=c(1,15,30,60,90) , P=100)

Note que nem sempre as ilhas com mais espécies são as que possuem maior taxa de substituição de espécies.

Agora vamos variar área e distância ao mesmo tempo:

Ilhas com diferentes áreas e distâncias
MW(areas=c(1,15,30,60,90) , dist=c(90,60,30,15,1) , P=100)
MW(areas=c(1,15,30,60,90) , dist=c(1,15,30,60,90) , P=100)
MW(areas=c(1,10,15,30,45) , dist=c(2,20,30,60,90) , P=100)

Gráfico 3D da relação espécies-área-distância

Neste segundo exemplo incorporamos um fator que não é considerado na relação espécies-área: as distâncias. Para tanto seria preciso um terceiro eixo contendo as distâncias entre as ilhas e os continentes e aí não teríamos mais uma reta descrevendo o padrão, mas sim uma superfície. Veja ao lado como fica um gráfico em três dimensões usando inúmeras ilhas imaginárias.

Para saber mais

  • Gotelli, N. 2007. Ecologia. Londrina, Ed. Planta. Capítulo 7.
  • Stevens, M. H. 2009. A primer of ecology with R. New York. Springer. Capítulo 10.
  • MacArthur,RH. & Wilson, EO. 1967. The Theory of Island Biogeography. Princeton University Press.
ecovirt/roteiro/neutr/biogeor_passo.txt · Última modificação: 2017/11/14 14:40 por prado