projetos:outros:legfacilita:julia:modelos_nulos

ADULTOS (Modelos Nulos)

Depois de conversa com a Julia ontem decidimos colocar o índice calculado para a média de raio para cada classe na mesma função que pode calcular para área fixa e para área variável dependendo do dap e da alometria. Portanto a partir dessa função não existe a função entorno.media. Ela foi substituída pela função entorno.indice com argumento indice=“r.media”

Alexandre Adalardo 2009/10/27 09:05

Revisei todas as análises. As funções agora apresentam flexibilidade com argumentos que permitem escolher entre os modelos que testamos (área fixa, alometria leg/nleg, intevalo boot, classes de tamanho, média de tamanho copa por classe…). Utilizando os mesmos argumentos os resultados são iguais ao que apresenta no artigo, portanto estamos seguros que os dados apresentados no artigo estão mesmo corretos. Algumas dúvidas permanecem:

  1. utilizando argumento classes=c(100,200,300, 400) o Balipe é significativo para a classe 5 (maior que 400mm).
  2. porque o intevalo bootstrap é significativo para as classes grandes de Balipe e os modelos nulos não? Ainda não rodei com o ajuste final da função (retirar a alvo da contagem do índice!). Pode ser isso!

Encontrei problemas nos scipt e função. Novos arquivos, agora com script rodando para 5 classes de tamanho. Estava encanado que o valor mais algo de Balipe na última classe era decorrente das árvores serem as maiores da parcela. Isso foi resolvido incluindo uma nova classe. A classe intermediária 300 a 400 mm de diâmetro também apresenta riqueza maior do que o resto. ULELE!

Modifiquei de ontem para hoje e incluí um roteiro onde faço a análise para Balipe até a apresentação de um gráfico básico. — Alexandre Adalardo 2009/10/24 11:51

Nova função para modelo nulo e intervalo bootstrap para as classes de tamanhos diferentes.

Essa está com problema entorno.copa21out2009.r

Alexandre Adalardo 2009/10/24 00:18

Função calcula índices para cada classe, utilizando a média de valores de DAP dentro de cada classe para determinar a área copa que será utilizada para todas as árvores dentro dessa classe.
Função
classes.rdata
Script

Função adaptada da primeira função desenvolvida, na qual uma parcela de 10 m² era considerada no entorno de todas as árvores. Corrigi a função considerando adaptações fundamentais de ultimamente (como utilização da função area.basal para converter fustes múltiplos). Além disso, ao invés de uma parcela, nessa função adaptada é feita uma circunferência de diâmetro 10 m.
entorno_adapt_dez_08.r
adapt.rdata
Script

Conversei com Adriana sobre a densidade de espécies e realmente é aquilo que pensamos. A relação no. de espécies por área não é linear e não podemos trabalhar com a densidade de espécies com áreas diferentes. Temos algumas soluções possíveis:

  1. usar uma estimativa de n. de espécies por unidade de área fixa e ai sim usar a média. Por exemplo, para uma área de 4 m2 estimamos quantas espécies por cada um dos m2 temos e aí sim utilizamos uma média.
  2. a adriana sugeriu pegar uma área fixa ou uma faixa de tamanho de copas das não legs que seja compatível com o tamanho da copa da leg. e nesse intervalo buscar a área de copa média.
  3. Podemos também construir o envelope de confiança de todos os indivíduos e ver se a leg está fora dele (eu explico depois!)

fui mostrar seu trabalho a ela e não estava ainda atualizado no wiki :-|

Função rcopa final: após modelo final de alometria dap x copa.
rcopavariada.rdata
Script

Os resultados das simulações permaneceram iguais para Balizia pedicelaris (nenhuma média de simulação menor que o valor real) e Andira anthelmia (todas as médias menores que o valor real), tanto para densidade de espécies quanto densidade de indivíduos.
Para as outras espécies (Abarbr, Abarla, Ormoar e Hymeja) o nº de simulações com médias menores que o valor real variou de 500 até 925, não havendo mutio indício de facilitação nessas espécies.

  • Andira anthelmia

  • Abarema brachystachia

  • Abarema langsdorfii

  • Balizia pedicelaris

  • Hymenolobium janeirense

  • Ormosia arborea

Modelo com função r copa inicial

  • Rodando para riqueza os indices para cada leg e os respectivos modelos nulos, encontrei sempre um número muito pequeno de vezes em que no modelo nulo havia valores menores que o indíce da leg (o inverso do que esperávamos)… Por exemplo, para Balizia 0 médias foram menores no nulo que no indice e Ormosia 1. Olhando agora pouco tive o insight de que os números no nulo não estão sendo divididos no fim pela área da copa. Acho que pode ser esse o problema.
  • Uma dúvida que não consigo interpretar no código: no modelo nulo, ao escolher as árvores ele aplica a função de proporção do dap para determinar o raio… fiquei confusa na parte do ciclo…
  • Acho que não deveríamos tirar as legs dos modelos; supondo que seja a mesma espécie da planta mãe (grandes chances pela proximidade), o modelo nulo ganha vantagem de uma espécie, por exemplo, né?! Além disso, dá para saber todas as espécies e indivíduos que aparecem, o que poderia ser vantajoso de saber na hora da análise…
  • Por que no modelo nulo “dbh.grandes” = 50 e no outro dbh.grandes = 100? Não teriam que ser iguais?

Ale

Aprimorei o modelo nulo, com todas as complexidades que havíamos pensado. As principais mudanças com relação ao modelo de Março são:

  • O Dap de cada indivíduo com fuste múltiplo é recalculado para um único fuste com Area Basal igual ao total.
  • Há uma função que relaciona o DAP ao tamanho da copa. A principio a função é bastante simples

e represntada por raio da copa(m)= (0.1 x dap.mm)^0.5/2. Esse ajuste será alterado em função dos dados coletados de diâmetro da copa. Para visualizar a função de ajuste do Area Copa, cria-se a função no R e depois a curva no gráfico.

copa=function(x)
{
((0.1*x)^0.5)/2
}

### agora o gráfico
## com o nosso x é o dap, vamos ver quais os valores máximos e minimos antes
##

range(peic$dbh,na.rm=T)

#[1]   3 854

##Criamos um x que represtaria os daps, de 0 a 1000 e fazemos a curva

curve(copa,0:1000)

  • Agora o índice de cada árvore é calculado em função da área de cada copa obtida na função acima, e relativo à área (por m2). Fiz isso para riqueza e para densidade, não sei como fazer para Shannon (ind/m2 e spp/m2)
  • O modelo nulo continua selecionando indivíduos aleatórios na parcela, mas agora exclui as leguminosas nesse sorteio. Ou seja qq arvore não leguminosae. São sorteadas a cada simulação o mesmo número de árvores que a espécie alvo tem e calculado o índice para cada uma dessas árvores, e posteriormente a média. Nesse caso a área da copa é relativa ao diâmetro da sorteada, não tem relação com os diâmetros das árvores observadas (Não sei ainda se esse é o melhor jeito!). Aqui tenho duas dúvidas ainda: será que precisamos sortear árvores ou apenas pontos na parcela? Acredito que sim , pelo simples fato que uma espécie já estará sendo incluída na contagem do índice. Uma alternativa a isso é retirar a árvore alvo da contagem do observado, assim o modelo nulo pode ser qq ponto na área. Outra coisa, devo calcular áreas equivalentes às copas dos indivíduos da espécie alvo, ou como está agora, relativa ao dap da árvore sorteada? Lembrei de outra: retirar as Legs do modelo nulo?

Essas são as principais modificações.

Julia, já rodei o nulo para a riqueza das espécies. O resultado está no .RDATA. Vou comecar a colocar data no nome das funções. Tenho a sensação que podemos voltar atrás em algumas desições no modelo e ter as versões antigas vai ser bom.

Lembre-se o resultado é composto de 1000(simula) valores de média, referentes a cada simulação. Em cada simulação é calculada o índice para n árvores sorteadas. O número de árvores sorteadas é iqual o número de indivíduos da leg alvo. O primeiro valor do vetor resultado é a média observada. Portanto para fazer o gráfico que aparece nas simulações é só usar os valores do objeto resultado.

Arquivos

Para resolver o problema do gráfico na função abaixo (março 2009) é só retirar o argumento cex dos dois comandos stripchart() da função. Na realidade os pontos estão sendo plotados, só que tão pequenos que não vemos….

script_entorno.legs.r

Oi Ale… rodei os indices para todas as espécies, mas os nulos só para Balipe (para riqueza, dens e shannon) e Andira (riqueza), por causa do lance do gráfico, é que não está aparecendo nem a curva de distribuição dos dados, a janela de gráfico abre mas não é preenchida… No arquivo estão os valores para cada indice e espécie…

A densidade no nulo de Balipe é maior que sob as legs, mas a riqueza não, isso é interessante né… diria que há mais espécies que conseguem se estabelecer embaixo da leg do que fora, é isso né? e que o menor número de espécies que se estabelece no modelo nulo, o faz com maior densidade, compete menos talvez?!

Pensei em usar a similaridade de simpson para comparar as espécies nos dois casos, daria certo?? De repente são até outras espécies né?!

Outra coisa interessante é o resultado dos indices para Andira (que o Scarano tinha dado o toque da alelopatia)… A riqueza deu um valor menor que todas as outras espécies (menos Abarema Brach, mas só há 4 individuos dessa espécie então acho que não é uma boa amostra né?!)… inclusive a riqueza pra Andira deu menor que a do modelo nulo pra andira, então parece um indício mesmo de alelopatia né… depois que rodar o de densidade acho que dá pra ter mais idéia disso…

Mas queria continuar rodando os nulos depois que arrumasse o lance do gráfico, porque com ele dá pra ter uma idéia da significância da diferença né?! você poderia ver o que não está dando certo nos gráficos, porque que eles não estão saindo?? valeu

Daria pra sair junto com o modelo nulo a quantidade de vezes que foi gerada uma média igual ou maior à da sob as legs? isso também daria uma idéia, seria o p de pato? (x vezes em 1000 aleats?) ou estou misturando as bolas?

Bom, por enquanto é isso…

Desculpa de novo tá, fiquei fazendo as coisas aqui em casa mas deveria ter feito no lab

Inté

Função para calcular alguns indíces (por enquanto: riqueza, densidade e shannon) do entorno de árvores e fazer o modelo nulo sorteando pontos aleatórios e comparando com o observado.

  1. entorno.indice()
  2. entorno.nulo()

entorno.r.pdf

Não esqueça de retirar a extensão pdf depois de baixar a função!

Interior da circunferencia = x^2+y^2-(2*a*x)-(2*b*y)+(a^2+b^2-r^2) ≤ 0
onde P (x,y) = coordenadas do ponto
C (a,b)= coordenadas do centro da circunferência
r = raio da circunferência

Então, para P(6,33), numa circunferência de Centro (5,40) e raio = 5
##6^2+33^2-(2*5*6)-(2*40*33)+(5^2+40^2-5^2)= 25… Ponto externo
Mas, P(6,38) = -20 … interno

Olá Julia, seguem os arquivos que fizemos na Ilha. Fiz as modificações para árvores grandes (leguminosas) e pequenas (no entorno), mas voltei atrás. Deixei pronto para refazer caso achemos pertinentes.

script.julia.entorno.r.pdf

julia.rdata.pdf

julia.rhistory.pdf

Modelo nulo para Balizia pedicelaris no PEIC. Frequencia de distribuição da média de riqueza para pontos aleatórios na parcela. Linha vermelha é o observado para o entorno das Balizias pedicelaris.

  • /home/adalardo/farm/labtrop/data/pages/projetos/outros/legfacilita/julia/modelos_nulos.txt
  • Última modificação: 2026/03/27 13:51
  • por 127.0.0.1