* [[ecovirt:roteiro:metap_uma:metap_circmdr|{{:ecovirt:logorcmdr01.png?20|}}]] * [[ecovirt:roteiro:metap_uma:metap_cir|{{:ecovirt:rlogo.png?direct&20|}}]] * [[ecovirt:roteiro:metap_uma:metap_cir_passo|{{:ecovirt:prompt.png?direct&20|}}]] ====== Metapopulações com colonização interna - Roteiro em R passo-a-passo ====== {{section>ecovirt:roteiro:metap_uma:metap_ci_base#metapopulacoes_com_colonizacao_interna}} ===== 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: * Você consegue perceber alguma diferença nos resultados dos dois modelos (//chuva de propágulo//s e //colonização interna//, mantidos iguais os parâmetros que eles têm em comum? * A posição de uma mancha na paisagem influencia a pc e a pe dessa mancha? Qual seria um modelo mais realista? * Por que há certas combinações de i e pe que não podem existir? * Qual o significado de um F negativo? 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 ===== {{section>ecovirt:roteiro:metap_uma:metap_ci_base#sugestoes_de_cenarios}} ===== Para saber mais ===== {{section>ecovirt:roteiro:metap_uma:metap_ci_base#para_saber_mais}} {{tag>R uma_população metapopulações colonização_interna}}