Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2019:alunos:trabalho_final:annelandine:trabfinal

Proposta 2

Inferindo estados comportamentais a partir da descrição de padrões de movimentação

Contextualização

O movimento de um organismo é definido como uma mudança na localização espacial do indivíduo no tempo, impulsionado por processos que atuam em múltiplas escalas espaciais e temporais. Os animais se movem motivados pela necessidade de executar atividades em diferentes tipos de habitat em um determinado intervalo de tempo. Um passo fundamental na Ecologia do Movimento é a descrição dos padrões de movimentação e a identificação de seus impulsores proximais e distais, a partir de dados de telemetria. Com o cálculo do ângulo de giro médio e a auto-correlação de velocidade e direção podemos fazer inferências sobre os estados comportamentais. Movimentos altamente direcionais possuem ângulos de giro próximos a 0 ° e são consistentes a longas distâncias, provavelmente representando trânsitos através de habitat ou entre habitats distintos, ou seja, movimentos de trânsito. Movimentos localizados, mais variáveis e com uma taxa mais alta de ângulos de virada agudos, próximos a 180°, representam um comportamento de busca e exploração, consistindo em movimentos mais convolutos.

images.png Legenda da imagem: a → movimentos direcionais; b → movimentos localizados

Essa função visa, a partir de dados de localização, estabelecer estados comportamentais para cada trajetória de diferentes indivíduos e associá-los ao gênero dos animais marcados com transmissores. Testando, a hipótese que propõe diferenças nos padrões de movimentação ou atividade entre machos e fêmeas.

Planejamento da função

estcomp (dados,coord, date, id,gen, sistcoord= CRS()).

  • dados → data frame com os dados
  • coord → coluna com coordenadas de localização (latitude e longitude).
  • date → coluna com informações de dia e horário de cada localização #já que dados de telemetria as localizações obtidas são tipicamente dependentes da localização anterior e por isso espacial e temporalmente autocorrelacionadas.
  • id → identificação de cada animal.
  • gen → coluna com os gêneros dos animais.
  • sistcoord → sistema de coordenadas

Pseudo-código

Pressupostos
  • class(coord) == “numeric”.
  • class(gen) == “character”.
  • length(coord) == length(gen).
  • Verificar a presença de NAs em alguma das colunas → retirá-los (na.omit) e colocar um warning
  • class(date) == POSIXct
  • require(adehabitatLT) → requer pacote adehabitatLT
Cálculos
  • traj ← as.ltraj(xy = coord, date= date, id= id, burst= id) # transformando em trajeto.
  • plot(traj) #plotar a trajetória.
  • traj.df ← ld(traj) # a função “ld” converte ltraj em dataframe para melhor manejo dos pontos.
  • A função ltraj retorna os valores (entre outros):
  • dist = distancia de cada passo.
  • rel.angle = angulo relativo (radianos), angulo entre um passo e outro (mudança de direção).
  • dt = tempo entre localizações sucessivas (em segundos).
  • traj.df$vel ← (dist/dt)*3.6 #Calcular a velocidade entre um ponto e outro.
  • Calcular a média de velocidade das fêmeas e a média de velocidade dos machos.
  • Calcular a média dos ângulos de machos e fêmeas.
  • Cálculo do “p-valor”
Retornar
  1. plot da trajetória
  2. data frame contendo os valores de velocidade, distância do passo, ângulo
  3. p-valor: probabilidade de machos e fêmeas se movimentarem com padrões diferentes.

Comentários Pamela Santana

Sobre sua proposta 2: ela tá bem bacana também! Tem alguns pontos pra pensarmos:

i) No pseudo-código o que são os seus dados? coord é um vetor? date é um vetor também? E a entrada de dados das coordenadas, será em minuto e segundo?

ii) Você faz alguns testes lógicos (class(coord) == “numeric”) e se a resposta for FALSE?

iii) Ao plotar a trajetória, você faz isso para vários indivíduos? Essa função seria para testar sempre a variação intra-específica? A inter-específica não?

iv) Para retornar o dataframe com os valores de velocidade, distância do passo, ângulo, você precisa criar este dataframe. Você cria traj.df, mas este objeto não tem a distancia de cada passo e o ângulo.

v) Como você vai calcular o seu p-valor?

Ambas as suas propostas estão legais! Tem pequenos pontos em que tem uma divergência entre o que se obtém e o objetivo da função ou o que se calcula na função, mas tudo são coisas que podem ser alinhadas rapidinho. Mas é importante inserirmos controle de fluxo nas suas propostas. Eu seguiria com o plano A.

Qualquer dúvida que você tenha, me escreva (pcsantana@ib.usp.br).

Um abraço!

05_curso_antigo/r2019/alunos/trabalho_final/annelandine/trabfinal.txt · Última modificação: 2020/08/12 06:04 (edição externa)