Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2015:alunos:trabalho_final:cavarzere:start

Vagner A Cavarzere Jr

cabeca.jpg

Doutor em Zoologia pelo Instituto de Biociências da Universidade de São Paulo Pesquisador colaborador da Seção de Aves do Museu de Zoologia da Universidade de São Paulo

Currículo Lattes

exec

Meus exercicios

Minha proposta de função

A. Um dos modelos candidatos dentre padrões de distribuição altitudinal (e também latitudinal) das espécies é chamado de “mid domain effect” (MDE). Este modelo prevê um pico da riqueza em altitudes intermediárias do gradiente simplesmente pelo fato das disposições aleatórias das espécies culminarem na sobreposição de suas distribuições nessas regiões. Minha função fará o que um antigo programa (RangeModel) e um “plug-in” de Excel fizeram há alguns anos, mas que, até o momento, e ao meu conhecimento, não foi tentado no R em publicações recentes. A partir de um “dataframe” dos dados empíricos da riqueza observada em suas respectivas cotas altitudinais, um número de simulações (a definir pelo usuário) de Monte Carlo irão estimar a riqueza de cada cota dentro do previsto pelo modelo segundo o proposto por Colwell & Hurtt (1994). Há opções das simulações serem feitas com ou sem “replacement”, assim como a escolha de se utilizar valores de range ou range midpoint para as simulações. Ao final, a função irá resultar em um vetor com os valores médios de cada cota altitudinal das simulações e também gerar um gráfico do número de cotas (determinado pelo usuário) com os valores empíricos das riquezas, assim como os intervalos de 95% de confiança dos valores estimados pelo MDE, em função da altitude.

Colwell RK & Hurtt GC (1994) Nonbiological Gradients in Species Richness and a Spurious Rapoport Effect. The American Naturalist, 144:570-595.

B. A vocalização das aves, especialmente dos representantes da família Thamnophilidae, é considerada importante para a manutenção de espécies simpátricas e/ou sintópicas. Análises de vocalizações têm se mostrado fundamentais para revisões taxonômicas e, consequentemente, para a determinação de limites de espécies. Para isso são necessárias diversas gravações de modo a se buscar caracteres consistentemente diagnosticáveis e que possam ser comparadas entre táxons ou populações. Enquanto para algumas espécies há um número razoável de gravações disponíveis, para outras, o mesmo não é verdadeiro. Para remediar este problema, Isler et al (1999) propuseram que comparações entre números de gravações menores que 30 atingissem a seguinte exigência: xa + ta DPa ⇐ xb - tb DPb onde x equivale à média, e DP, ao desvio padrão, de populações com o menor (a) e o maior (b) número de medições, e t= é o t valor do percentil de 97,5% da distribuição t para n-1 graus de liberdade. Os autores sugerem que desse modo levar-se-ia em consideração a possível existência de sobreposição de valores das medições dos cantos (utilizada como diagnose entre táxons) caso o número amostral fosse maior. Assim, esta função irá, por meio de simulações de Monte Carlo, inferir se uma série de valores com os mesmos parâmetros daqueles observados, poderiam apresentar sobreposições caso mais amostras estivessem disponíveis. A função iria apresentar uma lista de objetos que representassem os valores de cada população, assim como um um objeto de classe lógica indicando se o aumento do número amostral deve ou não resultar em sobreposição de valores.

Isler ML, Isler PR & Whitney BM (1998) Use of vocalizations to establish species limits in antbirds (Passeriformes: Thamnophilidae). The Auk, 115: 577-590.

Comentários Vitor Rios

Vagner, gostei mais da proposta A, mas as duas me parecem boas. Vc vai implementar a randomização na mão ou vai chamar um pacote? Seria mais interessante vc implementar sozinho.

Oi, Vagner!

Eu me perguntei a mesma coisa que o Vítor quando vi suas propostas: você vai fazer as simulações de Monte Carlo na mão ou através de um função pronta? Como o Vítor comentou, é interessante que você mesmo implemente: dessa forma, as suas duas propostas ficam mais interessantes e desafiadoras (: E o plano A, em especial, parece mais elaborado de se executar sem deixar de ser factível.

Viviane Santos 2015/03/24 14:43

Oi, gente. Eu pensei em fazer as simulações com o loop. Foi isso que vcs quiseram dizer?

Comentários Vitor Rios

Oi Vagner, foi isso mesmo: fazer as simulações usando loops, ao invés de usar um pacote de Monte Carlo pronto

Minha função

 MDE<-function(x,S,gradiente.min,gradiente.max,nsim=10000,histograma=FALSE)#cria a funcao MDE
{  
rmp.sim<-matrix(NA,nrow=nrow(X),ncol=nsim)#guarda as simulacoes de range mid points (rmp) em matriz
riq<-matrix(NA,nrow=nrow(X),ncol=nsim)#guarda as simulacoes de riqueza em matriz
  for(i in 1:nsim)#ciclo que repete nsim vezes os comandos dentro das chaves
  {
  rangesize<-round(runif(nrow(X),gradiente.min,gradiente.max),1)#simula range sizes dentro dos extremos do gradiente
  rmp<-round(runif(nrow(X),min=rangesize/2,max=gradiente.max-rangesize/2),1)#simula rmp
  rmp.sim[,i]<-rmp#guarda valores de rmp
  minvec<-rmp-rangesize/2#cria valores minimos de rmp
  maxvec<-rmp+rangesize/2#cria valores maximos de rmp
  P<-rmp/gradiente.max#calcula proporcao de range mid points (rmp)
  Sest<-round(2*(q=1-P)*(p=1-q)*S,1)#estima os valores de riqueza prevista pelo MDE
  riq[,i]<-Sest#guarda valores de riqueza estimada
  }
  par(mfrow=c(1,1))#prepara a janela grafica para um grafico
  plot(riqueza~dominio,data=X,pch=16,ylab="Riqueza",ylim=c(min(X[,2]),max(X[,2])),xlim=c(gradiente.min,gradiente.max),xlab="Domínio",type="b",main="Riquezas observada e estimada")#faz o grafico da riqueza observada em funcao do gradiente
  points(rmp.sim,riq,cex=0.5,col="gray")#adiciona os valores de riqueza estimados pelo MDE
  resulta<-list(Sest=Sest,range=rangesize,rmp=rmp)#une valores de riqueza estimada, rangesizes e rmp em uma lista
  print(resulta)#retorna os valores da lista
    if(histograma==TRUE)#a opcao default do histograma e FALSE, entao aqui e feito o histograma se esse argumento for TRUE
    {
    par(mfrow=c(1,2))#modifica os parametros da janela grafica para duas colunas, uma para cada grafico produzido
    plot(riqueza~dominio,data=X,pch=16,ylab="Riqueza",ylim=c(min(riq),max(X[,2])),xlim=c(min(rmp.sim),max(rmp.sim)),xlab="Domínio",type="b",main="Riquezas observada e estimada")#faz o grafico da riqueza observada em funcao do gradiente
    points(rmp.sim,riq,cex=0.5,col="gray")#adiciona os valores estimados de riqueza
    hist(rmp.sim,freq=FALSE,ylab="Densidade",xlab="Proporção de range mid points",main="Histograma das proporções de rmp",col="gray")#histograma dos rmp
    }
} 

help

 MDE{}                R Documentation
Estimação de riqueza de espécies ao longo de domínios
Description:
     São gerados valores de riqueza de espécies por meio de simulações de Monte Carlo de acordo com o previsto pelo Mid-domain Effect (MDE),
e apresentado gráfico com os valores observados e estimados de espécies ao longo do domínio.
Usage:
     MDE(x,S,gradiente.min,gradiente.max,nsim=10000,histograma=FALSE)
Arguments:
x	Um data.frame com valores do domínio na primeira coluna e valores de riqueza correspondentes na segunda coluna.
S	Riqueza total do domínio.
gradiente.max,gradiente.min	Valores máximo e mínimo do domínio, respectivamente.
nsim	Número de simulações. Se omitido, o valor defaul é 10000.
histograma	Se TRUE, é apresentado histograma com a distribuição dos valores estimados dos ponto médio da variação do domínio (range mid points),
além do gráfico de riquezas.
Details:
     Valores mínimo e máximo do domínio são aqueles a partir dos quais se considera que as espécies não podem ultrapassar. O Mid-domain Effect
determina que o pico de riqueza na região intermediária do domínio é uma consequência da sobreposição de distribuições aleatórias e que possuem
distribuição uniforme de valores de pontos médios da variação do domínio.
Value:
     Três componentes são resumidos: 
     comp1 : Exemplo de simulação de riqueza ao longo do domínio.
     comp2 : Exemplo de simulação de variação do domínio (range sizes).
     comp3 : Exemplo de simulação de ponto médio da variação do domínio.
Author:
     Vagner Cavarzere
References:
Cavarzere, V. and Silveira, L. F. (2012) Bird species diversity in the Atlantic Forest of Brazil is not explained by the Mid-domain Effect.
Zoologia 29 (4): 285-292.
Colwell, R.K. and Hurtt, G.C. (1994) Non biological gradients in species richness and a spurious Rapoport’s effect. The American Naturalist
144 (4): 570-595.    
McCain, C. M. (2004) The mid-domain effect applied to elevational gradients: species richness of small mammals in Costa Rica. Journal of
Biogeography 31 (1): 19-31.
Rajão, H. and Cerqueira, R. (2006) Distribuição altitudinal e simpatria das aves do gênero Drymophila Swainson (Passeriformes, Thamnophilidae)
na Mata Atlântica. Revista Brasileira de Zoologia 23 (3): 597-607.
Examples:
     ##Cavarzere and Silveira (2012) simularam riquezas de espécies de aves ao longo de gradientes altitudinais da Mata Atlântica brasileira:
     ##MDE(x,gradiente.min=0,gradiente.max=900,S=108)#para dados obtidos em São Paulo pelo autores
     ##MDE(x,gradiente.min=200,gradiente.max=2200,S=4)#para dados obtidos no Rio de Janeiro por Rajão and Cerqueira (2006)   
 

Arquivos para os exemplos

05_curso_antigo/r2015/alunos/trabalho_final/cavarzere/start.txt · Última modificação: 2020/08/12 06:04 (edição externa)