Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:alunos2012:alunos:trabalho_final:cristiane.millan:start

Cristiane Honora Millán

wiki3.jpg

Mestranda em Ecologia - IB/USP

Exercícios

Proposta de Trabalho Final

Plano A

Como parte do meu estudo de medidas de manejo que podem influenciar a ocupação pelas aves em um determinado área de eucalipto, eu fiz o levantamento e a medição de todas as árvores nativas, solitárias ou agregadas, presentes dentro do raio fixo de 50 m ao redor de cada ponto amostral. Com esses dados, pretendo calcular o “índice do tamanho das árvores” (tree size index modificado de FISCHER & LINDENMEYER, 2002). Este índice deverá refletir a atratividade de locais com árvores nativas na matriz, baseando-se no tamanho total do local, independentemente do número de árvores nele presentes. Para árvores solitárias, o índice será composto pela multiplicação da área basal, altura e largura da copa, enquanto para as árvores agregadas serão multiplicadas a área basal média, a altura média e a soma da largura de copas. Para atender a essa necessidade do meu projeto, gostaria de criar a função “tree size índex” como trabalho final da disciplina R.

Daniel (Musgo): Você poderia também fazer uma projeção do incremento de atratividade (talvez em aves/m²) em função do plantio ou conservação de árvores nativas na matriz de eucalipto (associado a um argumento da sua função). Outra sugestão seria um argumento onde o usuário entraria um número N de árvores nativas (ou área preenchida por árvores nativas) e sua função retornaria uma possível distribuição espacial ótima que maximize o incremento na atratividade de aves na área. Talvez este tipo de informação poderia ser útil para um tomador de decisão que precisa manejar a área.

Resposta ao comentário: no meu projeto eu vou justamente testar se essas arvores nativas esparsas atraem especies para a paisagem de plantio, por isso eu não posso incluir agora na minha função o incremento em atratividade ou a distribuição de arvores que maximize esse incremento.

Daniel (Musgo): Entendi. Você não necessariamente precisa usar dados reais. Se quiser simular os dados para aplicar sua função estará tudo bem. Ficaria tão legal estimar esse incremento… rs

Comentário

Pelo que entendi o seu estudo pretende estimar essa “atratividade” para as aves, relacionado ao index. Caso já tenha esse dados da ocorrência das espẽcies em cada localidade, acho que a sugestâo do Musgo dá um tchan na função. Retornar uma estimativa do número de aves com o incremento de arvores nativas seria muito legal mesmo(pode ser um gráfico da relação). — Alexandre Adalardo de Oliveira 2012/04/04 09:59

Plano B

Para o meu projeto de mestrado eu preciso estimar a proporção de áreas de silvicultura ocupadas por diferentes espécies de aves (razão entre número de locais onde a espécie foi detectada e número de locais em que foi realizado o levantamento). No entanto, há uma chance considerável de que essa proporção seja subestimada, pois mesmo estando presente em um local, um indivíduo pode não ser detectado pelo observador. Para resolver esse problema, Mackenzie (2002 - macknezie2002b.pdf) propôs a inclusão de um índice de probabilidade de detecção na modelagem da ocupação pelas aves. Com esse método, é preciso calcular a probabilidade de observar determinado histórico de detecção, em função das seguintes variáveis: condições climáticas e observador. Desta forma, eu gostaria de criar a função “probabilidade de detecção” no R.

TRABALHO FINAL

HELP

atrai.aves {R turma 2012}          R Documentation

Atratividade de Árvores Nativas para Aves
Description:

Este índice reflete a atratividade de locais com árvores nativas em matriz de silvicultura de eucalipto para as aves. Baseia-se no "Tree Size Index" (TSI) na riqueza de aves do local amostrado.

Usage:

atrai.aves(local,agrupamento,individuo,fuste,cap,h,copa,idade)

Arguments:

local 	um objeto do R. Vetor contendo os nomes de todos os locais amostrados;

agrup 	um objeto do R. Vetor contendo o número dado aos agrupamentos de árvores nativas amostradas, por local;

ind 	um objeto R.  Vetor contendo o número dado a cada árvore nativa amostrada;

fuste 	um objeto R. Vetor contendo a medida, em centímetros, do(s) fuste(s), de cada árvore nativa amostrada;

cap 	um objeto R. Vetor contendo a medida, em centímetros, da circunferência a altura do peito (aprox. 1,3 metros) de cada árvore nativa amostrada;

h 	um objeto R. Vetor contendo a medida, em centímetros, da altura do de cada árvore nativa amostrada;

copa 	um objeto R. Vetor contendo a medida, em centímetros, da projeção vertical da largura da copa de cada indivíduo(no caso de árvores solitárias) ou a soma da projeção vertical da largura das copas do agrupamento de árvores; 

riq	um objeto do R. Vetor contendo a riqueza de espécies de aves detectadas em cada local amostrado.

Details:

Uma árvores solitária é considerada um agrupamento de 1 indivíduo.

Value:

Retorna um gráfico de dispersão dos dados e uma linha de tendência do modelo linear. Também retorna um sumário sobre o modelo linear aplicado aos dados. 

Warnings:

A partir dos vetores de dados será feito um data.frame, portanto, é preciso estar atento à correspondência de dados entre os vetores.

Note:

O "Tree Size Índex” (Fischer & Lindenmeyer, 2002) reflete a atratividade de locais com árvores nativas baseando-se no tamanho total local, independentemente do número de árvores nele presentes.
Para árvores solitárias, o índice será composto pela multiplicação da área basal, altura e largura da copa, enquanto para as árvores agregadas serão multiplicadas a área basal média, a altura média e a soma da largura de copas.

Author:

Cristiane Honora Millán
cristiane.millan@usp.br


References:

FISCHER, J.; D.B. LINDENMEYER. 2002. The conservation value of paddock trees for birds in a variegated landscape in southern New South Wales. Species compositions and site occupancy patterns. Biodiversity and Conservation, 11: 807-832. 
 
Examples:

local<- paste("local",c(rep(1,4),2,2,rep(3,5),rep(4,6),rep(5,6),6,6,rep(7,5),8,8,9,9,9,10,10,10,11,12,rep(13,5),14,14,14,15,15,16,16,17,17,17,18,18,19,19,20))

agrup<-c(1,2,2,3,rep(1,2),rep(2,4),1,rep(2,5),1,1,rep(2,4),rep(1,19),2,2, rep(1,17))

ind<- c(1,3,4,5,6,7,8,9,10,10,10,11,12,13,14,14,14,15,16,17,17,17,17,18,19,20,20,21,21,21,22,23,24,24,24,25,25,26,27,28,29,29,30,30,30,31,31,31,32,32,33,33,34,34,34,35,35,36,36,37)

fuste<-c(1,3,4,5,6,7,8,9,10,10,10,11,12,13,14,14,14,15,16,17,17,17,17,18,19,20,20,21,21,21,1,1,1,2,3,1,2,1,1,1,1,2,1,2,3,1,2,3,1,2,1,2,1,2,3,1,2,1,2,1)

cap<-round(rnorm(60,150,15))

copa<- round(rnorm(60, 250, 40))

h<-round(rnorm(60,180,30 ))

riq<-c(rep(13,4),rep(10,2),rep(16,5),rep(17,12),rep(11,2),rep(19,5), rep(10,2),rep(16,3),rep(12,3),9,8,rep(14,5),rep(18,3),rep(13,2), rep(12,2),rep(15,3), rep(12,2),rep(13,2),8)

Função

atrai.aves<- function(local,agrup,ind,fuste,cap,h,copa,riq)
  
{
### data.frame base ####################  
dados<-data.frame (local,agrup,ind,fuste,cap,h,copa,riq)
dados$dap<- round(dados$cap/pi) ##adicao coluna dap
dados$area.basal<- round(pi*(dados$dap/2)^2) ##adicao coluna area.basal

##### indexando dados por agrupamento #####################
a <-aggregate(dados$area.basal, list(local=dados$local , agrup= dados$agrup, ind=dados$ind),sum)  ###  area basal para individuos com varios fustes
a.basal.grup<- (aggregate(a$x, list(local=a$local,agrup= a$agrup),mean)) ### tirando a media dos valores de area basal dos agrupamentos, por local -- em caso de arvores solitarias a media nao afetara os valores de area basal  
h.grup<- aggregate(dados$h, list(local=dados$local , agrup= dados$agrup),mean) ### area basal por agrupamento
copa.grup<- aggregate(dados$copa, list(local=dados$local ,agrup= dados$agrup ),sum) ### copa por agrupamento
riq.grup<-aggregate(dados$riq, list(local=dados$local ,agrup= dados$agrup ),mean) ### riqueza por agrupamento
  
##### calculo TSI ########################################  
dados2 <- data.frame(local= copa.grup$local, agrup=h.grup$agrup , a.basal= a.basal.grup$x , altura= h.grup$x , copa= copa.grup$x, riqueza=riq.grup$x)
dados2$copa<- round(dados2$copa)
dados2$a.basal<- round(dados2$a.basal) 
dados2$TSI<- round(dados2$a.basal * dados2$altura * dados2$copa/10000)

###### indexando dados por local ##########################
TSI.local<- aggregate(dados2$TSI, list(local=dados2$local),sum)
riq.local<-aggregate(dados2$riqueza, list(local=dados2$local),mean)
  
  
###### data.frame final #####################################  
dados4<-data.frame(local= TSI.local$local,TSI= TSI.local$x, riqueza=round( riq.local$x))  ### vai virar return
  
         
m1<-lm(riqueza~TSI, data=dados4) #### modelo linear

grafico<-plot(riqueza~TSI, data=dados4,ylab= "Riqueza", bty= "l", pch= 16)
abline(m1)

resultado<-summary.lm(m1)

return (resultado)}

Arquivo

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