PLANO B
Planejamento de rotina de alimentação para animais
Contextualização
Muitos projetos de pesquisa exigem que um plantel de animais em cativeiro seja mantido durante certo tempo. O ideal é que estes animais sejam tratados da melhor maneira possível à fim de minimizar ao máximo o stress, controlando as condições de temperatura, ruídos, ciclo de claro e escuro, higiene, etc. A alimentação é um dos fatores de maior importância, não somente pelo bem-estar animal, mas porque muitos trabalhos são relativos à dieta, como por exemplo o comportamento, plasticidade fenotípica, crescimento, maturidade sexual, dentre outros. Desta forma torna-se necessário um bom planejamento da alimentação, visto que acertadamente, muitos projetos são sujeitos à analise de uma comissão de ética e necessitam de aprovação de um cronograma para liberação dos recursos. Para tanto, eventualmente uma planilha de previsão de médio ou longo prazo é montada, entretanto fatores como o ganho de peso dos animais pode acarretar problemas no cronograma e o projeto pode sofrer atrasos. O objetivo desta função é criar uma planilha contendo a previsão de alimentação tendo em vista características essenciais da pesquisa em questão, como diferença entre sexos, grupos de dieta diversificados e ajuste da taxa de crescimento ou engorda dos animais, evitando entraves e atrasos durante a execução do projeto.
Entrada de dados
Die(x = c(), fp = (), ali = c(), tc = c(), nev = c(), mcr = FALSE)
Sendo:
x = número de animais por grupo
fp = faixa inicial de peso de cada grupo
ali = proporção do peso da alimentação em relação ao peso vivo do animal
tc = taxa de engorda aproximada em proporção ao final do período
nev = Número máximo de eventos de alimentação.
mcr = modelo de crescimento, poderá ser linear, exponencial ou Von Bertalanffy.
Um arquivo em formato csv ou txt poderá ser utilizado desde que contenha as variáveis acima
Verificando parâmetros
- O data frame foi lido corretamente? Se não escreve: “dados não encontrados”
- Existe NAs? Se sim escreve: “NAs encontrados”
- Existem categorias não-numéricas? Se sim, escreve “categorias não numéricas”
- Os vetores possuem o mesmo tamanho? Se não, pára a função e escreve “vetores de tamanhos diferentes”
Pseudo-código
- Lê o data frame
- Item de lista não ordenadaSe não houver data frame, cria
- Aplica os parâmetros necessários
- Cria a previsão de alimentação pelo número de eventos
- Cria um novo data frame com os eventos de alimentação
- Salva o data frame
- Plota uma curva de previsão de crescimento médio para cada grupo
Saída
- Data frame contendo a previsão de alimentação pelo número de eventos
- Gráfico com a curva de crescimento estimada pela previsão para cada grupo
<box 100% red| Comentários Andre Chalom> Salve, Lucas!
Essa proposta também é interessante, e acho que é factível no tempo que vocês tem. Estou particularmente curioso pra ver esse gráfico de crescimento de peso dos grupos. Algumas críticas pra ajudar a pensar essa função:
- Na validação de dados, acho importante verificar se os vetores tem o mesmo tamanho. O que acontece se x = c(5, 10) e fp = c(10)?
- Quando você interrompe a simulação? Não deveria haver um parâmetro controlando “tempo final” ou “peso final”?
- Qual modelo de crescimento você está considerando? Vc tem um parâmetro que diz “exp = FALSE”, isso controla se o crescimento é exponencial ou o que? Von Bertalanffy? Isso precisa estar explicitado na proposta, de preferência com referências.
- Você incluiu um “…” no final da lista de argumentos da função. Como esse “…” vai ser usado?
- NAs e dados não numéricos geram só uma mensagem (warning) ou interrompem a execução?
AbRaços! </box>
1 - Sim, creio que os vetores de mesmo tamanho é um dos fatores mais importantes da função, pois todos os grupos precisariam dos mesmos atributos para rodar. 2 – Vou incluir um parâmetro contendo o número máximo de eventos de alimentação (uma vez que os grupos podem ter intervalos de alimentação diferenciados), e este seria o controle para o término da simulação. Neste caso o usuário deve saber quantas vezes alimentará cada grupo dependendo do delineamento experimenta, e quanto tempo durará. 3 – O ideal seria que o usuário pudesse escolher qual modelo de crescimento quer usar, como Von Bertalanffy, exponencial ou linear, tendo como “default” o modelo linear. 4 – Com os “…” gostaria de dizer que a função aceitaria os parâmetros de modelos de crescimento explicitados acima, entretanto creio que da forma como escrevi teve um efeito dúbio, desta forma vou reescrever o imput. 5 – Nas devem gerar uma mensagem de warning sem interromper a função. Isto porque a função deverá ser capaz de lidar com números faltantes, visto que a quantidade de eventos de alimentação podem ser diferentes entre os grupos (ex, grupo 1 alimentado quinzenalmente, enquanto grupo 2 alimentado mensalmente).