Processing math: 100%

Table of Contents

Metapopulações com colonização interna - Roteiro em R passo-a-passo

Ilhas dos Barbados - Reserva Biológica Poço das Antas. Foto: Ernesto Viveiros de Castro. http://www.biologia.ufrj.br/labs/lecp/linhas.htm

No modelo de Metapopulações com chuva de propágulos - Roteiro no EcoVirtual a colonização era constante e independente da fração de manchas ocupadas. Eliminando o pressuposto de uma chuva de propágulos constante e relacionando a colonização com a fração de manchas ocupados chegamos ao modelo clássico de metapopulações descrito por Richard Levins em 1969. Em uma formulação simples desse modelo, a fonte de propágulos é unicamente interna (sistema fechado) e a probabilidade de colonização varia de forma linear à proporção de lugares ocupados.

Modelo matemático

Nessa formulação, nosso modelo não terá mais uma probabilidade de colonização constante (pi), mas sim uma probabilidade de colonização dependente do número de manchas ocupadas:

pi=if

onde i é uma constante que indica quanto aumenta a probabilidade de colonização a cada nova mancha que é ocupada. Portanto, quanto mais manchas ocupadas, maior a chance de colonização das manchas vazias. Substituindo pi na equação antiga temos:

dfdt=if(1f)pef

Equilíbrio

O cálculo da fração de manchas ocupadas no equilíbrio (ˆfdfdt=0) também é modificado para:

ˆf=1pei

Simulação

Vamos verificar isto simulando esta situação. Como no exercício anterior, criamos uma função no R para gerar a simulação. Como antes, esta função simplesmente sorteia eventos de colonização e extinção em cada mancha a cada intervalo de tempo, segundo as regras do modelo. Em seguida ela retorna um gráfico e as matrizes de ocupação das manchas em cada instante de tempo.

meta.inter=function(tf,cl,ln,fi,i,pe){
	paisag=array(0,dim=c(ln,cl,tf))
	paisag[,,1]=matrix(sample(c(1,0),cl*ln,prob=c(fi,1-fi), replace=T),ln,cl)
	resultado=numeric()
	for(t in 2:tf){
		 pc=i*sum(paisag[,,t-1])/(cl*ln)
	       paisag[,,t][paisag[,,(t-1)]==1]<-sample(c(0,1),sum(paisag[,,t-1]),replace=T,prob=c(pe,1-pe))
	       paisag[,,t][paisag[,,(t-1)]==0]<-sample(c(0,1),cl*ln-sum(paisag[,,t-1]),replace=T,prob=c(1-pc,pc))
	       resultado[t-1]=sum(paisag[,,t])/(cl*ln)
	      }

	F=1-(pe/i)

	plot(1:tf,c(fi,resultado),type="l",xlab="Tempo",ylab="Fração de manchas ocupadas",
	ylim=c(0,1),main=paste("Colonização Interna","\n cl=",cl," ln=",ln," fi=",fi," i=",i," pe=",pe),font.lab=2,lwd=2)
	abline(h=F,col=2,lwd=2,lty=2)
	
      return(paisag)
	}

E agora você pode simular o modelo com os valores que escolher para os argumentos da função, como:

meta.inter(tf=100,cl=10,ln=10,fi=.1,i=1,pe=0.5)

Brinque um pouco com o modelo fazendo variar os parâmetros do modelo e pense nas seguintes perguntas:

Para finalizar, uma última animaçãozinha, antes salvo o resultado de uma simulação em um objeto, por exemplo:

sim.int1 <- meta.inter(20,10,10,1, 0.4,0.2)

Agora passe a função abaixo para o programa

anima2=function(dados){
	tf=dim(dados)[3]
	for(i in 1:tf){
	image(dados[,,i], main=("Ocupação de manchas"),col=c("white","red"),bty="n",xaxt='n',yaxt='n')
	grid(dim(dados)[1],dim(dados)[2])
	Sys.sleep(.2)
	}
	}

Agora é só rodar a função acima com o resultado da simulação:

anima2(dados=sim.int1)

Sugestões de cenários

tmax = 100 
cl = 10
rw = 10  
f0 = 0.1 
ci = 0.5
pe = 0.5 

Para saber mais

  • Gotelli, N. 2007. Ecologia. Londrina, Ed. Planta. Capítulo 4.
  • Stevens, M. H. 2009. A primer of ecology with R. New York. Springer.Capítulo 4.
  • Gotelli, N. 1991. Metapopulation models: the rescue effect, the propagule rain, and the core-satellite hypothesis. The American Naturalist, 138: 768-776. pdf no site do autor