Índice
O Curso
Material de Apoio
Área dos Alunos
Visitantes
Forum
notaR
Área Restrita
Cursos Anteriores
IBUSP
Outras Insitutições
IBUSP
Outras Insitutições
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
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
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.
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)
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)}