====== Ingrid El Dash ======
{{:bie5782:01_curso_atual:alunos:trabalho_final:ingrid.dash:agoravai.jpg?200|}}
Mestranda em Fisiologia Geral
Laboratório de Energética e Fisiologia Teórica (LEFT)
Departamento de Fisiologia - IBUSP
[[.:exec]]
===== Exercícios =====
{{:bie5782:01_curso_atual:alunos:trabalho_final:ingrid.dash:exercicio_1_preparacao.r|}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:ingrid.dash:exercicio_4_analise_exploratoria.r|}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:ingrid.dash:51-5.3_criacao_de_graficos.r|}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:ingrid.dash:7.2_o_modelo_mais_simples_possivel.r|}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:ingrid.dash:7b.1-3ff.r|}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:ingrid.dash:exercicio_8_reamostragem_e_simulacao.r|}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:ingrid.dash:9.2_construcao_de_funcoesff.r|}}
===== Trabalho final =====
{{:bie5782:01_curso_atual:alunos:trabalho_final:ingrid.dash:proposta_funcaoi.txt|}}
Oi Ingrid,
Não consegui entender a sua proposta A muito bem. Você precisa explicar o que é pfa e qual a diferença entre o pra e o limiar. Isso porque me pareceu algo muito simples. A sua função vai fazer uma conta (cálculo do pra a partir do limiar) e depois jogar o resultado da conta no argumento pra da função existente. A menos que haja uma matemática considerável nesse cálculo, não acho que esse desafio é interessante o suficiente pra justificar a proposta.
A proposta B pareceu mais legal.
É simples e vc conseguiu explicar bem os produtos de entrada e saída da função.
Podemos brincar um pouco mais com ela?
Suponha que eu sou uma atleta e vou fazer um treino de 4 horas para o qual eu precise de 2 litros de água (nem sei se existe, mas vamos imaginar). Eu não quero carregar 2 litros de água desde o início do treino, mas gostaria de saber qual o intervalo que eu deveria consumir 500ml. É possível fazer essa conta? Na minha opinião, não precisa ser nada apurado, seria mais pra você exercitar colocar isso na função mesmo. O que acha?
Eu sou a favor da proposta B, mas ficaria bem mais feliz se ela pudesse fazer brincadeiras como a sugerida.
Pode começar a B e vamos conversando pra deixar ela mágica.
bjos
----//[[renata.orofino@gmail.com|Rena]]//
==== Página de ajuda ====
wi package:nenhum R Documentation
Recomendações de consumo de água durante treinos de corrida ou caminhada.
Description:
Estima o volume de água (ml) que deve ser ingerido a cada pausa, bem como o
intervalo entre as pausas (minutos) para reposição de 80% da água perdida por
sudorese ao longo de um treino de corrida ou caminhada. Os valores são
calculados em função da temperatura ambiente, umidade relativa e
características físiológicas do usuário.
Usage:
wi (ta, u, pace, mb)
Arguments:
ta: numérico. Temperatura ambiente (termometro de bulbo seco)(ºC)
u: numérico. Umidade relativa do ar (%)
pace: numérico. Velocidade (minutos/km)
mb: massa corpórea do usuário (kg)
Details:
A partir dos valores de pace e mb, calcula-se a potência desenvolvida pelo
indivíduo (watts). Esse valor corresponde à soma da taxa metabólica de repouso
e estimativa do gasto associado à realização da atividade. A função considera
que toda a energia gerada por unidade de tempo será perdida por sudorese,
sendo que o gradiente térmico é a differença entre a temperatura da superfície
da pele (valor adotado = 35ºC) e uma estimativa da temperatura equivalente
(WBGT, wet-bulb globe temperature). A temperatura equivalente é, por sua vez,
estimada a partir dos valores fornecidos de temperatura ambiente (ta) e umidade
relativa do ar (u). Os valores de WBGT e potencia são usados para estimar a
massa de água, em g, perdida por minuto.
Os intervalos entre as pausas para hidratação e os volumes recomendados por
pausa foram extrapolados a partir de recomendações da literatura, as quais
baseavam-se na taxa de perda de água, como calculado na etapa anterior.
Value:
Uma mensagem é exibida no console, indicando o volume recomendado por pausa e
o intervalo entre pausas.Se a taxa de sudorese calculada for excessivamente
alta, condição na qual a pratica de atividade física não é segura, a saída da
função inclue uma mensagem de alerta, entretanto, valores recomendados (dentro
do possivel), ainda são calculados, caso o usuário opte por não remarcar a
atividade.
Warning:
A função não leva em consideração outras formas de perda de água e efeitos
decorrentes de variação de vestimenta, velocidade do vento e radiação solar.
Author(s):
Ingrid El Dash
ingrid.eldash@gmail.com
References:
ABM(2017) The Wet Bulb Globe Temperature (WBGT). Bureau of Meteorology,
Commonwealth of Australia, Melbourn. website:
http://www.bom.gov.au/info/thermal_stress/#wbgt. Acessado em 23 junho 2017
McArdle WD, Katch FI, Katch VL. Exercise Physiology: Energy, Nutrition and Human
Performance. 6th ed. (Lupash E, Keifer R, Kerins R, Montalbano J, eds.).
Baltimore, Maryland USA: Lippincott William & Wilkins; 2007.
Taylor CR, Heglund NC. Energetics and mechanics of terrestrial locomotion.
Annu Rev Physiol. 1982;44:97-107. doi:10.1146/annurev.ph.44.030182.000525.
See Also:
Examples:
# exemplo de chamada da função (condição 1)
wi (ta = 20, u = 20, pace = 5, mb = 50)
# atribuindo resultado a um objeto
rec = (ta = 20, u = 20, pace = 5, mb = 50)
# argumentos não explicitados
rec = (20, 20, 5, 50)
# condição 2 (compare resultados com condição 1)
wi (ta = 40, u = 90, pace = 3, mb = 95)
Código da Função
wi2 = function(ta, u, pace, mb)
{
vel = ((60/pace)/3.6)
pot = (6.03*mb^0.7) + (10.7*mb^0.68*vel)
WBGT = (0.567*ta)+(0.393*((u/100)*6.105*exp((17.27*ta)/(273.7+ta))))+3.94
m = pot/(2417 + (4.2*(35-WBGT)))
m = m*60
mp <- c(0.2, 0.5, 0.7, 0.9, 1.1, 1.4, 1.6, 1.8, 2.1, 2.3, 2.5, 2.7, 3, 3.2)
mp <- (mp/1.5)/60
mp <- mp*1000
i <- c(60, 45, 30, 30, 20, 20, 20, 15, 15, 15, 15, 10, 10, 10)
v <- c(177, 177, 177, 237, 222, 281, 311, 251, 281, 311, 325, 251, 251, 266)
v <- v/i
mod1 <- lm(v~0 + mp)
mod2 <- lm(log(i)~log(mp))
irec = exp(predict(mod2,list(mp = m)))
vwb = predict(mod1,list(mp = m))*irec
if (m>=37)
rec = paste("PRÁTICA DE ATIVIDADE FÍSICA NÃO RECOMENDADA!","Mas se você
insiste: beba", round(vwb,2), "ml de água a cada",
round(irec,2), "minutos")
else
rec = paste("Recomendação: beba", round(vwb,2), "ml de água a cada",
round(irec,2),"minutos")
return (rec)
}
==== Código da função ====
## Refs:
# 1. ABM(2017) The Wet Bulb Globe Temperature (WBGT). Bureau of Meteorology,
# Commonwealth of Australia, Melbourne. website:
# http://www.bom.gov.au/info/thermal_stress/#wbgt. Acessado em 23 junho 2017
# 2. McArdle WD, Katch FI, Katch VL. Exercise Physiology: Energy, Nutrition and
# Human Performance. 6th ed. (Lupash E, Keifer R, Kerins R, Montalbano J, eds.).
# Baltimore, Maryland USA: Lippincott William & Wilkins; 2007.
# 3. Taylor CR, Heglund NC. Energetics and mechanics of terrestrial locomotion.
# Annu Rev Physiol. 1982;44:97-107. doi:10.1146/annurev.ph.44.030182.000525.
## Argumentos da função
# ta = temperatura de bulbo seco (ºC)
# u = umidade relativa do ar (%)
# pace = velocidade, em (em ' e fração de ')
# mb = massa corpórea (kg)
## Variáveis:
# mp = massa perdida por sudorese (valores da literatura)
# m = massa perdida estimada (calculada)
# i = intervalo entre pausas para hidratação (valores da literatura)
# irec = intervalo recomendado entre pausas (calculado)
# v = volume de água
# vwb = volume recomendado por pausa
# vel = velocidade (m/")
# pot = potência (w)
# WBGT = wet bulb globe temperature (ºC), "temperatura equivalente"
# ' = minutos
# " = segundos
# Valores adotados:
# Calor latente de vaporização da água = 2417 J/g
# Calor específico da água = 4.2 J/g
# Temperatura da pele = 35ºC
# Densidade da água = 1g/ml
# saída da função:
# rec = mensagem (caracteres) os valores recomendados de vwb e irec.
# COMENTÁRIO: Os comentários referentes a uma linha de código estão escritos na
# linha diretamente acima
# inicio da função, definição do nome e argumentos
wi = function(ta, u, pace, mb)
{
## Estimativa da massa de água perdida:
# conversão da velocidade de pace para m/"
vel = ((60/pace)/3.6)
# calculo potência (formula retirada de Taylor & Heglund, 1982)
pot = (6.03*mb^0.7) + (10.7*mb^0.68*vel)
# estimativa da WBGT a partir da temperatura ambiente (bulbo seco)
# (formula da ABM, 2017)
WBGT = (0.567*ta)+(0.393*((u/100)*6.105*exp((17.27*ta)/(273.7+ta))))+3.94
# Q = mL + mcdT
# pot = mL + mc(temperatura da pele - WBGT)
# pot = m(L + c(temperatura da pele - WBGT))
# m = pot/(L + c(temperatura da pele - WBGT))
# calculo de m (g/")
m = pot/(2417 + (4.2*(35-WBGT)))
# m em (g/')
m = m*60
## Calculo dos intervalos e volumes recomendados
# valores de mp, i e v retirados de McArdle, 2007
# dados de mp em (kg/90')
mp <- c(0.2, 0.5, 0.7, 0.9, 1.1, 1.4, 1.6, 1.8, 2.1, 2.3, 2.5, 2.7, 3, 3.2)
# mp em (kg/')
mp <- (mp/1.5)/60
# m em (g/')
mp <- mp*1000
# dados de i em (')
i <- c(60, 45, 30, 30, 20, 20, 20, 15, 15, 15, 15, 10, 10, 10)
# v em (ml/pausa)
v <- c(177, 177, 177, 237, 222, 281, 311, 251, 281, 311, 325, 251, 251, 266)
# v em (ml/')
v <- v/i
# Modelo linear de v em função de mp a partir dos dados da literatura.
# Quando mp = 0, não é necessário beber água, por isso coloquei intercepto = 0.
mod1 <- lm(v~0 + mp)
# volume recomendado por min(ml/') = predict(mod1,list(mp = m))
# Modelo de i em função de mp a partir dos dados da literatura.
# Coloquei i e mp em escala logaritimica para poder usar um modelo linear.
mod2 <- lm(log(i)~log(mp))
# intervalo recomendado entre pausas (') = exp(predict(mod2,list(mp = m)))
## Recomendações:
# intervalo recomendado pelo mod2.
irec = exp(predict(mod2,list(mp = m)))
# volume recomendado por pausa= volume recomendado por minuto pelo mod1 * irec
vwb = predict(mod1,list(mp = m))*irec
## Saida
# nas condições em que a m> ou = a 37g/', a prática de atividade física não é
# recomendada. Por isso, se isso acontecer...
if (m>=37)
# ... a saida da função (rec) tem uma mensagem de alerta. Os "valores
# recomendados" são gerados, caso o usuário opte por realizar a atividade mesmo
# em condições inadequadas.
# vwb e irec arrendodados para 2 casas decimais.
rec = paste("PRÁTICA DE ATIVIDADE FÍSICA NÃO RECOMENDADA!","Mas se você insiste:"
,"beba", round(vwb,2), "ml de água a cada", round(irec,2), "minutos")
# nas demais condições em que a taxa de sudorese não é excessiva
else
# A saída da função (rec) é somente os valores recomendados, sem mensagem de
# alerta.
# vwb e irec arrendodados para 2 casas decimais.
rec = paste("Recomendação: beba", round(vwb,2), "ml de água a cada",
round(irec,2),"minutos")
# A função retorna "rec"
return (rec)
}