Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anteriorRevisão anterior
Próxima revisão
Revisão anterior
mod1:mat_apoio:comunid [2010/08/31 15:20] – Page moved from mod1:restr:comunid to mod1:mat_apoio:comunid adalardomod1:mat_apoio:comunid [2024/01/11 15:21] (atual) – edição externa 127.0.0.1
Linha 1: Linha 1:
-====== Estrutura de Comunidade de Plantas ====== +====== Comunidade de Plantas Virtual ======
-Nesse exercício iremos montar uma comunidade hipotética ao longo de um gradiente ambiental para depois utilizar as ferramentas de classificação e ordenação de comunidades e ver como elas se comportam. A ideia é contrastarmos duas visões da ecologia de comunidades concorrentes: (1) as comunidades tem limites definidos e (2) há uma transição gradual na substituição de espécies ao longo dos gradientes ambientais. +
-  +
-===== Comunidade de Plantas Virtual =====+
 Primeiro vamos construir uma comunidade de plantas virtual. Para isso vamos nos basear na distribuição de indivíduos em um gradiente ambiental. Partindo da premissa que as espécies tem uma distribuição normal de abundâncias ao longo do gradiente, podemos simular algo parecido com dados empíricos.  Primeiro vamos construir uma comunidade de plantas virtual. Para isso vamos nos basear na distribuição de indivíduos em um gradiente ambiental. Partindo da premissa que as espécies tem uma distribuição normal de abundâncias ao longo do gradiente, podemos simular algo parecido com dados empíricos. 
  
-{{:mod1:restr:spgradbegon1.jpeg?500  |}} **Figura 16.6** do livro de **Ecologia** do Begon ((leitura obrigatória dessa aula)), mostrando dados empíricos de distribuição de espécies vegetais em um gradiente de umidade nas Montanhas Great Smoky, Tennessee. Dados retirados do trabalho clássico de R. Whittaker ((note o R no nome. Uma boa indicação!)) onde cada curva representa a porcentagem de caules da população presentes ao longo do gradiente. Note como a distribuição normal pode ser uma boa aproximação dessa distribuição.+{{:mod1:mat_apoio:spgradbegon1.jpeg?500  |}} **Figura 16.6** do livro de **Ecologia** do Begon ((leitura obrigatória dessa aula)), mostrando dados empíricos de distribuição de espécies vegetais em um gradiente de umidade nas Montanhas Great Smoky, Tennessee. Dados retirados do trabalho clássico de R. Whittaker ((note o R no nome. Uma boa indicação!)) onde cada curva representa a porcentagem de caules das populações presentes ao longo do gradiente. Note como a distribuição normal pode ser uma boa aproximação dessa distribuição.
 A distribuição normal, ou Gausiana, tem dois parâmetros, que correspondem à média e ao desvio-padrão. A partir desses parâmetros podemos construir curvas teóricas da proporção dos indivíduos de  cada espécie ao longo do gradiente. Vamos ver como essas curvas são construídas no R. A distribuição normal, ou Gausiana, tem dois parâmetros, que correspondem à média e ao desvio-padrão. A partir desses parâmetros podemos construir curvas teóricas da proporção dos indivíduos de  cada espécie ao longo do gradiente. Vamos ver como essas curvas são construídas no R.
 A função //curve()// desenha gráficos a partir de uma função matemática. No nosso caso a função é //dnorm()//, que também já está no R. Vamos ver como isso funciona! A função //curve()// desenha gráficos a partir de uma função matemática. No nosso caso a função é //dnorm()//, que também já está no R. Vamos ver como isso funciona!
Linha 25: Linha 22:
 Vamos agora criar nosso gradientes e a distribuição das espécies nele. Para começar, nossa comunidade terá 10 espécies distribuídas aleatoriamente em um gradiente 1 a 20. Logo, o ótimo ((onde a espécie apresenta a maior proporção de seus indivíduos no gradiente)) para cada uma das espécies poderá ser qualquer valor entre 1,5 e 19,5 (vamos eliminar o extremo do gradiente para facilitar apenas). Esse valor nada mais é do que a média da sua distribuição de abundância.  Vamos agora criar nosso gradientes e a distribuição das espécies nele. Para começar, nossa comunidade terá 10 espécies distribuídas aleatoriamente em um gradiente 1 a 20. Logo, o ótimo ((onde a espécie apresenta a maior proporção de seus indivíduos no gradiente)) para cada uma das espécies poderá ser qualquer valor entre 1,5 e 19,5 (vamos eliminar o extremo do gradiente para facilitar apenas). Esse valor nada mais é do que a média da sua distribuição de abundância. 
 Para evitar sobreposição integral de nicho e criar um limite onde a coexistência de espécies não é possível, vamos sortear as médias de uma sequência de valores discretos ao longo do gradiente, sem reposição. No nosso exemplo adotamos um sequência de valores espaçados em 0,25. Para evitar sobreposição integral de nicho e criar um limite onde a coexistência de espécies não é possível, vamos sortear as médias de uma sequência de valores discretos ao longo do gradiente, sem reposição. No nosso exemplo adotamos um sequência de valores espaçados em 0,25.
-Já usamos as funções para sortear valores de um vetor usando //sample// e  para produzir sequencias numéricas //seq//, caso queira saber mais sobre as funções no R peça socorro (help!)((para acessar o help do R use a função help!:  //help(sample)// ou simplesmente digite //?rep//)).+Já usamos as funções para sortear valores de um vetor usando //sample// e  para produzir sequências numéricas //seq//. Caso queira saber mais sobre as funções no R peça socorro (help!)((para acessar o help do R use a função help!:  //help(sample)// ou simplesmente digite //?rep//)).
  
   s1=seq(from=1.5, to=19.5, by=0.25)   s1=seq(from=1.5, to=19.5, by=0.25)
Linha 32: Linha 29:
   medias   medias
      
-Legal! precisamos agora decidir os desvios... vamos sortear agora valores aleatórios de uma distribuição uniforme entre 0,5 até 2,5. Por que? Porque podemos, esse é o nosso mundo e nele somos o criador!+Legal! Precisamos agora decidir os desvios... vamos sortear agora valores aleatórios de uma distribuição uniforme entre 0,5 até 2,5. Por quê? Porque podemos, esse é o nosso mundo e nele somos o criador!
      
   desvios <-runif(10,0.5,2.5)   desvios <-runif(10,0.5,2.5)
   desvios   desvios
      
-Agora temos médias e desvios das nossas 10 espécies. Ótimo! Vamos construir nossa comunidade no gradiente. Vamos faze-lo para a primeira espécie:+Agora temos médias e desvios das nossas 10 espécies. Ótimo! Vamos construir nossa comunidade no gradiente. Vamos fazê-lo para a primeira espécie:
   medias[1]   medias[1]
   desvios[1]   desvios[1]
Linha 55: Linha 52:
   ...   ...
  
-Parece tudo ótimo... mas há um problema! Veja como as espécies que apresentam médias próximas ao limite do gradiente tem sua distribuição truncada. Isso faz com que a probabilidade total (área sob a curva) seja menor que um. A distribuição normal teórica vai de menos a mais infinito. Quando restringimos o gradiente para valores finitos ela precisa ser ajustada, truncando-a no intervalo desejado. Vamos usar a função abaixo para fazer esse ajuste. Copie e cole todo o código abaixo no R.+Parece tudo ótimo... mas há um problema! Veja como as espécies que apresentam médias próximas ao limite do gradiente tem sua distribuição truncada. Isso faz com que a probabilidade total (área sob a curva) seja menor que um. A distribuição normal teórica vai de menos infinito a mais infinito. Quando restringimos o gradiente para valores finitos a distribuição precisa ser ajustada, truncando-a no intervalo desejado. Vamos usar a função abaixo para fazer esse ajuste. Copie e cole todo o código abaixo no R.
  
 <code> <code>
Linha 78: Linha 75:
 Isso foi legal, mas para simular uma comunidade maior seria tedioso ficar copiando linhas e mudando o valor do indexador dos objetos //medias// e //desvios//. Veja o quadro abaixo para ver como automatizar essa tarefa. Isso foi legal, mas para simular uma comunidade maior seria tedioso ficar copiando linhas e mudando o valor do indexador dos objetos //medias// e //desvios//. Veja o quadro abaixo para ver como automatizar essa tarefa.
  
-<box 80% red|Fazendo ciclos de tarefas no R>+<box 100% red|Fazendo ciclos de tarefas no R>
 Para tarefas tediosas e repetitivas podemos usar o R para nos ajudar. No caso do gráfico acima, podemos automatizar o código para que ele repita a tarefa mudando apenas os valore que queremos a cada ciclo. Para isso usamos o //for()// dessa forma: Para tarefas tediosas e repetitivas podemos usar o R para nos ajudar. No caso do gráfico acima, podemos automatizar o código para que ele repita a tarefa mudando apenas os valore que queremos a cada ciclo. Para isso usamos o //for()// dessa forma:
 <code> <code>
Linha 120: Linha 117:
  
  
-Dê uma olhada, como quem não quer nada, no gráfico do seu coleguinha ao lado. Por que o dele é mais bonito? Os gráficos não deveriam ser iguais já que ambos seguiram o mesmo roteiro com o mesmo código? Rode os comando abaixo,depois repita o gráficos para preencher as quatro janelas do dispositivo. +Dê uma olhada, como quem não quer nada, no gráfico do seu coleguinha ao lado. Por que o dele é mais bonito? Os gráficos não deveriam ser iguais já que ambos seguiram o mesmo roteiro com o mesmo código? Rode os comandos abaixo,depois repita o comando dos gráficos para preencher as quatro janelas do dispositivo. 
 +http://ecologia.ib.usp.br/bie312/doku.php?id=mod1:mat_apoio:roteiros#comunidade_virtual
   par(mfrow=c(2,2))   par(mfrow=c(2,2))
   graf.com(medias=sample(2:19, size=10),desvios=sample(seq(from=0.5, to=2.5, by=0.1),10), minimo=1, maximo=20)   graf.com(medias=sample(2:19, size=10),desvios=sample(seq(from=0.5, to=2.5, by=0.1),10), minimo=1, maximo=20)
  
 ===== Amostrando a Comunidade Virtual ===== ===== Amostrando a Comunidade Virtual =====
-{{:mod1:restr:step2.jpeg?300  |}}+{{:mod1:mat_apoio:step2.jpeg?300  |}}
 Agora vamos avançar seguindo um processo de amostragem da nossa comunidade. Vamos imaginar que esse gradiente existe e que a comunidade é exatamente essa que construímos. Sem nenhuma informação prévia do sistema, há duas perguntas sobre estrutura da comunidade: Agora vamos avançar seguindo um processo de amostragem da nossa comunidade. Vamos imaginar que esse gradiente existe e que a comunidade é exatamente essa que construímos. Sem nenhuma informação prévia do sistema, há duas perguntas sobre estrutura da comunidade:
   - A comunidade responde ao gradiente ambiental?    - A comunidade responde ao gradiente ambiental? 
Linha 242: Linha 239:
  
 ===== Comunidade Discreta ===== ===== Comunidade Discreta =====
-{{:mod1:restr:dinoclasse.jpeg?350|}}+{{:mod1:mat_apoio:dinoclasse.jpeg?350|}}
 Agora sabendo que está funcionando, vamos montar uma comunidades discretas ao longo do gradiente.  Para isso nossas espécies devem formar grupos, ou associações, ao longo do gradiente. Vamos imaginar 15 espécies em três grupos de cinco. Agora sabendo que está funcionando, vamos montar uma comunidades discretas ao longo do gradiente.  Para isso nossas espécies devem formar grupos, ou associações, ao longo do gradiente. Vamos imaginar 15 espécies em três grupos de cinco.
   *1. Fazemos um amostra de cinco valores de um ponto do gradiente com uma certa variação: essas serão as primeiras 5 médias das espécies   *1. Fazemos um amostra de cinco valores de um ponto do gradiente com uma certa variação: essas serão as primeiras 5 médias das espécies
Linha 268: Linha 265:
  
 </code> </code>
- 
 ===== Comparando a Amostra com a População ===== ===== Comparando a Amostra com a População =====
-{{:mod1:restr:samplerror.jpg?300  |}}+{{:mod1:mat_apoio:samplerror.jpg?300  |}}
  
 Até agora criamos uma comunidade e fizemos uma amostra dela ao longo de um gradiente ambiental. Será que a amostra é fiel ao padrão expresso pela espécie no gradiente?((será que nossa função funfa??)) Vamos colocar os valores lada a lado em um gráfico para investigar. Até agora criamos uma comunidade e fizemos uma amostra dela ao longo de um gradiente ambiental. Será que a amostra é fiel ao padrão expresso pela espécie no gradiente?((será que nossa função funfa??)) Vamos colocar os valores lada a lado em um gráfico para investigar.
Linha 277: Linha 273:
 par(mfrow=c(2,2)) par(mfrow=c(2,2))
 graf.com(medias=medias, desvios=desvios, minimo=1, maximo=20) graf.com(medias=medias, desvios=desvios, minimo=1, maximo=20)
-matplot(amostra,t(com01.cont), type="l", lty=2, col=rainbow(dim(com01.cont)[1]), main="Amostra" )+matplot(amostra,t(com1.cont), type="l", lty=2, col=rainbow(dim(com1.cont)[1]), main="Amostra",xlab='valor do gradiente',ylab='indivíduos por parcela' )
 graf.com(medias=med1, desvios=desv1, minimo=1, maximo=20) graf.com(medias=med1, desvios=desv1, minimo=1, maximo=20)
-matplot(amost1,t(com1.disc), type="l", lty=2, col=rainbow(dim(com01.cont)[1]), main="Amostra" )+matplot(amost1,t(com1.disc), type="l", lty=2, col=rainbow(dim(com1.disc)[1]), main="Amostra",xlab='valor do gradiente',ylab='indivíduos por parcela' )
 </code> </code>
  
Linha 288: Linha 284:
  
 ===== Arquivo do script ===== ===== Arquivo do script =====
-{{:mod1:restr:codigogradale.r|}}+{{:mod1:mat_apoio:codigogradale.r|}}
  --- //[[adalardo@gmail.com|Alexandre A de Oliveira]] 2010/08/24 15:52//  --- //[[adalardo@gmail.com|Alexandre A de Oliveira]] 2010/08/24 15:52//
mod1/mat_apoio/comunid.1283268056.txt.gz · Última modificação: 2024/01/11 15:21 (edição externa)
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0