Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2014:alunos:trabalho_final:bonjorne:start

Lilian Bonjorne de Almeida

lilian_it2.jpg

Exercícios

Trabalho Final

Proposta A.

Função para realizar algumas análises para dados de fenologia de plantas e variáveis ambientais. A matriz de entrada teria indivíduos ou espécies nas linhas e nas colunas, as fenofases amostradas (podem ser variáveis quantitativas discretas ou categóricas, no caso de se amostrar presença ou ausência de flores, por exemplo), local e data da amostragem. Outra matriz conteria os dados de temperatura mínima, temperatura máxima e precipitação para cada dia.

Dados de entrada (exemplo)
Local Data Indivíduo Brotação foliar Floração Frutos verdes Frutos maduros
A dd/mm/aa Ind 1 0 0 x k
A dd/mm/aa Ind 2 1 1 y l
A dd/mm/aa Ind n 1 0 z m
Data Temperatura Mínima Temperatura Máxima Precipitação
dd/mm/aa a d g
dd/mm/aa b e h
dd/mm/aa c f i
Análises
  • Cálculo da temperatura média mensal;
  • Cálculo da temperatura média anual;
  • Cálculo da precipitação acumulada mensal;
  • Cálculo da precipitação acumulada em um ano;
  • Cálculo da média, mediana e desvio padrão de folhas novas por mês (brotação foliar), frutos verdes e frutos maduros;
  • Correlação entre temperatura média mensal e fenofases;
  • Correlação entre precipitação mensal acumulada e fenofases;
  • Gráfico mostrando a precipitação acumulada mensal (pontos e linhas) e histograma da temperatura média mensal;
  • Histograma da brotação foliar mensal;
  • Gráfico da frequência relativa de indivíduos com floração por mês;
  • Gráfico da frequência relativa de indivíduos com frutos verdes por mês;
  • Gráfico da frequência relativa de indivíduos com frutos maduros por mês.

Proposta B.

Atualmente é comum a utilização de armadilhas fotográficas em estudos de mamíferos de médio e grande porte. Usualmente são construídas planilhas em que as linhas contêm os registros e as colunas contêm uma série de informações, como as coordenadas geográficas da armadilha fotográfica, a data e hora de cada registro, o tipo do local de amostragem (estrada, trilha, floresta, canavial, etc), a identificação do registro (família, gênero, espécie), o tipo de habitat, dentre outras informações.

Dados de entrada
Amostragem Latitude Longitude Data do registro Hora do registro Tipo de local Identificação taxonômica
Área 1 - ano 1 x y dd/mm/aa hh:mm a b
Análises
  • Cálculo da distância entre armadilhas fotográficas (matriz);
  • Cálculo da distância média e desvio padrão entre armadilhas fotográficas;
  • Cálculo da quantidade de dias amostrados por armadilha fotográfica por amostragem;
  • Cálculo da média e desvio padrão de dias amostrados considerando todas as armadilhas fotográficas utilizadas na amostragem;
  • Cálculo da quantidade de registros por espécie;
  • Cálculo da quantidade de registros por espécie por tipo de local amostrado;
  • Gráfico de padrão de atividades para espécies de interesse no estudo (0-2h, 2h-4h, 4h-6h, etc).
  • ANOVA (espécies X tipo de local amostrado).

As duas propostas estão mais com jeito de script do que de função, ou seja, parecem a descrição de duas análises de dados. A função deve realizar uma tarefa geral, ou seja, a função será útil para outros pesquisadores também. Com relação à proposta A, uma sugestão seria focar somente na descrição da fenologia, através de um gráfico ou outros descritores. Isto é um problema bastante genérico entre os botânicos, certo? Depois que você implementar esta parte mais básica, você pode partir pra outras opções e argumentos da função, como a opção de produzir diferentes tipos de gráficos, ou diferentes descritores da fenologia de uma espécie. Enfim, busque um equilíbrio entre simplicidade e complexidade. Usualmente a função executa uma tarefa que exigiria tempo e trabalho do pesquisador. Deixe bem claro qual a tarefa principal que a função vai realizar e sua generalidade. O mesmo raciocínio vale para a proposta B, mas eu sugiro investir na ideia da proposta A. —- Leonardo

Proposta B implementada

Pelo fato de haver muitas pessoas que utilizam armadilhas fotográficas atualmente, escolhi trabalhar na proposta B.

A função proposta (grid_camtrap) tem o objetivo de facilitar a execução de algumas análises corriqueiras que têm que ser executadas por quem utiliza grades de armadilhas fotográficas (para marcação-recaptura, ocupação, etc). Essas análises incluem gráficos para visualização da grade de armadilhas fotográficas prevista e instalada em campo e a sobreposição das duas. Além disso, são calculadas a distância entre os pontos previstos e instalados em campo, a distância entre as armadilhas fotográficas instaladas, a média ± desvio padrão dessa distância, o cálculo da quantidade de dias amostrado por cada armadilha fotográfica e a quantidade de dias/armadilha total da amostragem.

A função também faz algumas análises exploratórias com os dados obtidos com as armadilhas fotográficas, como número de registros por espécie, número de armadilhas fotográficas por tipo de habitat (pode ser o tipo de habitat, como campo limpo, cerradão e silvicultura ou também poderiam ser diferenças nos ambientes amostrados, como trilha pré-existente, estrada, margem de rio, etc) e registro das espécies por tipo de habitat. Para executar a função, será necessário que o pesquisador dê os mesmos nomes às colunas da tabela, como o modelo abaixo, sendo que: X1,Y1 representam as coordenadas UTM dos pontos previstos, X2,Y2 são as coordenadas UTM em que as armadilhas fotográficas foram instaladas em campo, Date1 é a data de instalação da armadilha fotográfica e Date2 é a data de retirada da armadilha fotográfica do campo.

Função grid_camtrap - para análise de dados coletados com uma grade de armadilhas fotográficas

tabela_modelo.csv

Armadilha X1 Y1 X2 Y2 Date1 Date2 Habitat Species
x UTM UTM UTM UTM dd/mm/yyyy dd/mm/yyyy y z

grid_camtrap.r

 dados <- read.table(file.choose(), header=T, sep=";", as.is=T)

grid_camtrap <- function(dados)
  
{

  x11() ## abre uma nova janela para visulizacao dos graficos
  par(mfrow=c(2,2)) ## muda o dispositivo grafico para 2X2
  par(pty="s") ## deixa a area do grafico quadrada
  
  ## Passo 1. Grafico mostrando a localizacao em UTM da grade de armadilhas fotograficas programada (X1 e Y1 indicam as coordenadas UTM previstas)##
  plot(dados$X1, dados$Y1, xlab= "X programado", ylab= "Y programado", main="Grade de armadilhas \nfotográficas programada", pch=16) ## main indica o nome do grafico, \n indica a mudanca de linha, xlab e y lab indicam os nomes dos eixos e pch indica o tipo de simbolo que representara os dados no grafico
  
  ## Passo 2. Grafico mostrando a localizacao em UTM das armadilhas fotograficas colocadas em campo (representadas pela coluna X2, Y2)##
  plot(dados$X2, dados$Y2,xlab="X em campo", ylab="Y em campo", main="Grade de armadilhas \nfotográficas em campo", col="red",pch=23) ## col = "red" muda a cor do simbolo
  
  ## Passo 3. Juntando os graficos (localizacao programada das armadilhas X localizacao das armadilhas instaladas em campo)##
  plot(dados$X1, dados$Y1,xlab="X", ylab="Y",pch=16) 
  par(new=T) ##Colocando as informacoes dos dois graficos em apenas um grafico##
  plot(dados$X2, dados$Y2,xlab="X", ylab="Y", main="Grade de armadilhas \nfotográficas programada \ne em campo", col="red",pch=23, xaxt="n",yaxt="n") ## xaxt e yaxt nao plotam as escalas dos eixos, ja que este sera um grafico em sobreposicao ao primeiro criado, antes de par (new=T)
  
  ## Passo 4. Calculo da distancia entre os pontos programados e os pontos em que as armadilhas fotograficas foram instaladas (em metros)
  
  dist_previsto_campo <- sqrt((dados$X2 - dados$X1)^2+(dados$Y2 - dados$Y1)^2)
   
  ## Passo 5. Calculo da media da distancia entre os pontos programados e os pontos em que as armadilhas fotograficas foram instaladas (em metros)
 
  avg_dist_previsto_campo <- mean(dist_previsto_campo) 
  
  ## Passo 6. Calculo do Desvio Padrao da distancia entre os pontos programados e os pontos em que as armadilhas fotograficas foram instaladas (em metros)
  
  sd_dist_previsto_campo <- sd(dist_previsto_campo) 
  
  ## Passo 7. Calculo da distancia entre as armadilhas fotograficas instaladas em campo (em metros) - utilizando os vizinhos mais proximos

  dist_vizinho_campo <- numeric(length(dados$Armadilha)) ## definindo classe como numeric (estipulando o numero de dados)
  nn <- numeric(length(dados$Armadilha)) ## nearest neighbour (definindo como classe numeric)
  d<- numeric(length(dados$Armadilha)) ## d e a distancia entre duas armadilhas fotograficas (e calculada utilizando por base o teorema de Pitagoras, representa a hipotenusa)

  for(i in 1:(length(dados$Armadilha))) ## repetir de 1 até o último dado da coluna armadilha
    {
      for(k in 1:(length(dados$Armadilha)))

    d[k]=sqrt((dados$X2[k]-dados$X2[i])^2+(dados$Y2[k]-dados$Y2[i])^2) ## calculo de d
    dist_vizinho_campo[i] <- min(d[-i]) ## calcula qual o valor minimo de d (qual e o vizinho mais proximo)
    nn[i] <- which(d==min(d[-i])) ## indica qual o ponto mais proximo para tracar a linha entre os pontos (passo 8)
    }

  ## Passo 8. Grafico mostrando os vizinhos mais proximos para cada armadilha fotografica
  
  plot(dados$X2, dados$Y2,xlab="X", ylab="Y", main="Distâncias entre armadilhas \nfotográficas em campo \n (menores distâncias)", col="red",pch=23)
  for(i in 1:(length(dados$Armadilha))) lines(c(dados$X2[i],dados$X2[nn[i]]),c(dados$Y2[i],dados$Y2[nn[i]])) ## traca a linha entre os vizinhos mais proximos
    
  ## Passo 9. Calcular a media entre as armadilhas fotograficas em campo

  avg_dist_camtrap_campo <- mean(dist_vizinho_campo)
  
  ## Passo 10. Calcular o desvio padrão entre as armadilhas fotograficas em campo

  sd_dist_camtrap_campo <- sd(dist_vizinho_campo)
  
  ## Passo 11. Calcular o numero de dias de amostragem para cada armadilha fotografica (matriz). Os dados de data tem de estar no formato dd/mm/yyyy.Date1 indica a data de instalacao da armadilha fotografica e Date2, a data de retirada da armadilha fotografica.

  data.instalacao <- as.Date (strptime(dados$Date1,format="%d/%m/%Y")) ## transformando a variavel Inst.date (data de instalacao da armadilha fotografica) em objeto da classe date
  class(data.instalacao)
  data.instalacao
  
  data.retirada <- as.Date(strptime(dados$Date2,format="%d/%m/%Y")) ## transformando a variavel Rem.date (data de remocao da armadilha fotografica) em objeto da classe date
  class(data.retirada)
  data.retirada  

  dias_amostrados <- data.retirada - data.instalacao
  dias_amostrados

  ## Passo 12. Calcular o numero total de dias/armadilha

  dias_armadilha <- sum(dias_amostrados)
  
  ## Passo 13. Calculo da quantidade de registros por especie

  registro_sp <- table(dados$Species)
  registro_sp

  ## Passo 14. Calculo do numero de armadilhas fotograficas em cada tipo de habitat amostrado

  camtrap_habitats <- table(dados$Habitat)

  ## Passo 15. Calculo da quantidade de registros por especie por tipo de local amostrado (habitats diferentes ou locais com caracteristicas diferentes, como trilhas, estradas, silvicultura)

  registros_sp_habitats <- table(dados$Species,dados$Habitat)

  resulta <- (list(dist_previsto_campo, avg_dist_previsto_campo, sd_dist_previsto_campo, dist_vizinho_campo, avg_dist_camtrap_campo, sd_dist_camtrap_campo, dias_amostrados, dias_armadilha, registro_sp, camtrap_habitats, registros_sp_habitats))
  
  print(resulta)

}


grid_camtrap(dados) 
Help da função grid_camtrap

grid_camtrap.rar

  
grid_camtrap	R Documentation

Análise para dados de grades de armadilhas fotográficas

Description

A função grid_camtrap realiza análises de dados coletados com uma grade de armadilhas fotográficas (armadilhas fotográficas dispostas a distâncias regulares). A função utiliza as localizações no sistema UTM previstas e as localizações no sistema UTM em que as armadilhas foram instaladas em campo para traçar gráficos: (1) das localizações previstas para as armadilhas fotográficas no planejamento da grade, (2) das localizações em que as armadilhas foram instaladas em campo, (3) de ambas localizações (previstas e em campo e (4) traça linhas ligando os vizinhos mais próximos em relação às armadilhas fotográficas instaladas em campo. Além disso, a função calcula: (1) a distância entre as localizações UTM programadas e as localizações em que as armadilhas foram instaladas em campo (matriz), (2) a média e desvio padrão da distância entre as localizações UTM previstas e as das armadilhas em campo, (3) a distância entre as armadilhas fotográficas instaladas em campo usando os vizinhos mais próximos (matriz), (4) a distância média e desvio padrão entre as armadilhas fográficas em campo (utilizando os vizinhos mais próximos), (5) o número de dias de amostragem para cada armadilha fotográfica, (6) o número total de dias da amostragem considerando todas armadilhas fotográficas (dias/armadilha), (7) a quantidade de registros por espécie, (8) a quantidade de armadilhas fotográficas dispostas em cada tipo de habitat amostrado, (9) a quantidade de registros por espécie em cada tipo de habitat.

Usage

grid_camtrap(dados)
Arguments

dados	
tabela importada em formato txt ou csv contendo dados coletados utilizando grade de armadilhas fotográficas. Tabela composta pelas colunas:

Armadilha numeração/ nome atribuído a cada armadilha fotográfica

X1 localizações UTM previstas para instalação das armadilhas fotográficas (leste/oeste)

Y1 localizações UTM previstas para instalação das armadilhas fotográficas (norte/sul)

X2 localizações UTM em que as armadilhas fotográficas foram instaladas em campo (leste/oeste)

Y2 localizações UTM em que as armadilhas fotográficas foram instaladas em campo (norte/sul)

Date1 data de instalação das armadilhas fotográficas (formato dd/mm/aaaa)

Date2 data de retirada das armadilhas fotográficas do campo ou término da amostragem (formato dd/mm/aaaa)

Habitat tipos de locais em que as armadilhas fotográficas foram instaladas

Species nome das espécies registradas

Details

Tipo: função Versão: 1.1 Data: 17/05/2014

Value

retornará os resultados das análises em uma lista (list):

dist_previsto_campo	
distância em metros das localizações UTM previstas e em que as armadilhas fotográficas foram instaladas

avg_dist_previsto_campo	
média das localizações UTM previstas e em que as armadilhas fotográficas foram instaladas (em metros)

sd_dist_previsto_campo	
desvio padrão das localizações UTM previstas e em que as armadilhas fotográficas foram instaladas (em metros)

dist_vizinho_campo	
distância em metros entre as armadilhas fotográficas instaladas em campo

avg_dist_camtrap_campo	
média da distância entre as armadilhas fotográficas instaladas em campo (em metros)

sd_dist_camtrap_campo	
devio padrão da distância entre as armadilhas fotográficas instaladas em campo (em metros)

dias_amostrados	
número de dias amostrados por armadilha fotográfica (matriz)

dias_armadilha	
número total de dias amostrados considerando todas as armadilhas fotográficas da grade (dias/armadilha)

registro_sp	
número de registros por espécie

camtrap_habitats	
número de armadilhas fotográficas por tipo de habitat

registros_sp_habitats	
número de registros de cada espécie por tipo de hábitat

Author(s)

Lilian Bonjorne de Almeida <lilian.almeida@icmbio.gov.br>

Examples

dados
  
  Armadilha X1      Y1        X2      Y2        Date1       Date2       Habitat     Species
  1         358130  7421935   358158  7421930   01/01/2014  01/04/2014  habitat1    sp1
  2         357845  7421535   357827  7421473   03/01/2014  05/04/2014  habitat2    sp2
  3         357657  7421987   357608  7421954   08/01/2014  16/04/2014  habitat3    sp3
  4         357372  7421615   357337  7421549   12/01/2014  04/04/2014  habitat1    sp1
  5         358323  7421507   358241  7421447   18/01/2014  10/04/2014  habitat1    sp1
  
  grid_camtrap(dados) 
05_curso_antigo/r2014/alunos/trabalho_final/bonjorne/start.txt · Última modificação: 2020/08/12 06:04 (edição externa)