====== 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. {{ :bie5782:01_curso_atual:alunos:trabalho_final:annelandine:images.png?300 |}} **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== - plot da trajetória - data frame contendo os valores de velocidade, distância do passo, ângulo - p-valor: probabilidade de machos e fêmeas se movimentarem com padrões diferentes. 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!