Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2019:alunos:trabalho_final:moreno_pereira:start

Moreno Pereira

img_7190.jpg

Mestrando em Zoologia pela Universidade Estadual de Santa Cruz (UESC). Trabalha com foco em Ecologia de Baleias-Franca-Austrais (Eubalaena australis).

Moreno Pereira

Meus Exercícios

Propostas do Trabalho Final

**Proposta A - Janelas Térmicas**

Contextualização

Animais endotérmicos mantém a temperatura interna do corpo elevada pela produção interna de calor que pode ser mantida ou dissipada para o ambiente dependendo das condições ambientais. Essa dissipação de calor é feita através de janelas térmicas nos corpos dos animais, que são caracterizadas por regiões de alta vascularização e pouco ou nenhum tipo de isolamento térmico(TATTERSALL; CADENA, 2010; WILLIAMS, 1990). Nesse sentido, câmeras térmicas capazes de capturar a temperatura superficial do corpo de animais, vem sendo utilizadas para estudar a dinâmica de troca de calor(TATTERSALL; CADENA, 2010) Com o objetivo de facilitar a análise de dados desse tipo de pesquisa a função irá tratar dados de duas variáveis quantitativas (temperatura de um membro corpóreo de um animal e temperatura ambiente) e gerar um teste de correlação da diferença entre as variáveis pela variável temperatura junto com um gráfico. Em outras palavras “O membro que está sendo analisado funciona como uma janela térmica no animal de estudo ?”

Planejamento da função

Entrada: - temp (ambiente, corpo, teste, gráfico)

ambiente = vetor com valores de temperatura do ambiente (classe: numeric).

corpo = vetor com valores de temperatura (classe: numeric).

teste = TRUE realiza teste de correlação entre as variáveis

gráfico=TRUE realiza o gráfico da análise

Verificando os parâmetros:

ambiente e corpo tem o mesmo tamanho de vetor ? se não, escreve “Ambiente e corpo precisam ter o mesmo comprimento”

ambiente é um vetor da classe numeric? Se não, escreve: “Ambiente precisa ser um vetor da classe numeric”

corpo é um vetor da classe numeric? Se não, escreve: “corpo precisa ser um vetor da classe numeric”

Pseudo-código:

1.Cria objeto temperaturas com a tabela com os dados de temperaturas dos membros e do ambiente.

2.Cria uma coluna no objeto temperaturas com a diferença entre temperatura do membro analisado com ambiente.

3.Cria objeto com a correlação entre as variáveis.

4.Plota área para gráfico com as temperaturas do membro analisado com a temperatura ambiente

5.Retorna a correlação entre as variáveis

Comentários de Pamela Santana

Oi Moreno! Tudo bem?

Sua proposta A é interessante, mas ela pode ficar mais legal. Lembre-se que sua função deve ser uma tarefa factível, mas que ao mesmo tempo seja um desafio estimulante e que te tire da zona de conforto! Seria legal se a sua proposta apresentasse algum controle de fluxo, com os comandos de if ou for. Alguns pontos pra pensarmos:

i)se a ideia da sua função é verificar se algum membro do corpo está atuando como janela térmica, quando você fizer uma correlação com todos os vetores do corpo, vc não acha que a justamente aquelas medidas que poderiam ser de janela seriam outliers na sua correlação? Será que entrar com todos os dados do corpo em um único vetor é a melhor forma?

ii) A entrada de dados na sua função será pra um indivíduo por vez?

iii) Lembre que o que você pedir para retornar na sua função é o que o usuário terá acesso. Se você quer retornar o gráfico, precisa indicar isso também.

Resposta Moreno Pereira

Oi Pamela, na função cada vetor seria um apendice do corpo e eu poderia colocar mais de um individuo por vez e separar os dados na saída da função Eu tinha pensado que cada apendice do corpo retornaria um grafico com a correlação talvez por um ciclo for.

**Plano B – Índice de Condição Corpórea**

O uso de drones vem sendo usado em estudos com mamíferos aquáticos de diversas formas. Uma delas é no uso de captura de imagens para estimar condições corpóreas. Para tanto, na captura de imagens dorsais de baleias jubartes, deve-se dividir a superfície da imagem em segmentos trapezoidais onde o índice de condição corpórea se dará pela somatória da área de todos os segmentos (Christiansen et al.,2016)

foto1.png foto2.pngfoto_3.png Christiansen et al.,2016

A função irá utilizar as medidas para calcular a área dos segmentos corpóreos e ter como saída o índice de condição corpórea do animal

Planejamento da função

Entrada: condicao (medidas, rmNA= TRUE)

medidas= data frame com valores da altura, base maior e base menor dos segmentos

rmNA = remove as linhas com NAs.

Verificando os parâmetros:

medidas é um objeto da classe data.frame ? se não, escreve “ medidas precisa ser um objeto da classe data frame”

Verifica se o data frame tem as colunas “base.g, base.p e altura”

Verifica se o data frame tem NAs

Pseudo-código:

1.Cria um objeto soma com a soma dos valores das bases.

2.Entra em um ciclo for() com contador i e cria o objeto altura2 com todos os valores das alturas divididos por 2 .

3.Cria um objeto com todas as áreas do segmento.

4.Retorna a somatória de todos os segmentos com o índice de condição corpórea do animal

Comentários Pamela Santana

Acho que sua proposta B tá interessante também, mas podemos dar um up nela. Alguns comentários:

i) O que este índice de condição corpórea significa? É um índice de saúde? Deixa bem claro pra gente!

ii) O que é a e b na fórmula?

iii) Não tem necessidade de usar o for para dividir a coluna altura por dois. Mas é legal que você use o if ou for. Que tal pensar numa aplicação que torne sua função mais abrangente?

iv) Você fala de criar um objeto com as áreas de segmento. Como você vai fazer isso? Esse objeto vem das alturas divididas por dois?

Tenta pensar nesses pontos!

Eu sugeriria seguir com a proposta B, pois me parece um pouco mais elaborada. Mas tente reformular tanto A quanto B e nos avise. Qualquer dúvida que você tenha sobre o que eu te escrevi ou se quiser ajuda pra elaborar mais, me avisa:Pamela Santana

Resposta Moreno Pereira

Olá, Pamela primeiramente obrigado pelos feedbacks. Eu vou continuar com a proposta B sim o índice de massa corporea serve tanto para ver a saúde do animal quanto para ver as variações corporais dentro e entre temporadas reprodutivas.

“a” e “b” na fórmula se referem as bases dos segmentos trapezoidais que o corpo foi dividido.

o objeto com as áreas dos segmentos vem das alturas de cada segmento dividido por doi mais a soma das bases do trapézio. No final a função me devolverá a somatoria desse objeto

eu pensei em usar o IF como controle de fluxo caso exista algum NAs nas colunas do meu data frame. e o for para fazer a divisoria das alturas. Você achou muito simples ?

Alexandre Adalardo de Oliveira 2019/06/19 10:51

Olá Moreno,

A função é interessante, mas o procedimento por trás parece uma implementação muito simples de um cálculo de área do trapezio e sua soma (BCI). Apesar de ainda não estar claro como o BCI pode ser interpretado como “saúde”, mas tudo bem, vc. fornece a referência. Perceba que a sua função pode ser definida em apenas uma linha

BCI <- sum((medidas$h)/2)* (medida$a + medidas$b), na.rm= rmNA)

Realmente a complexidade de implementação não requer uma função. Precisa realmente propor alguma complexidade que inclua controles de fluxo (for, if).Veja as sugestões da Pamela e tente trabalhar com ela para encontrar uma proposta que tenha alguma complexidade maior.

Trabalho Final Concluído

Acabei seguindo com a proposta B e implementando novos argumentos na função com a ajuda dos monitores para deixa-la mais ampla e um pouco mais complexa. Segue o link para o trabalho final.

Trabalho Final

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