Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2017:alunos:trabalho_final:ingrid.dash:start

Ingrid El Dash

agoravai.jpg

Mestranda em Fisiologia Geral Laboratório de Energética e Fisiologia Teórica (LEFT) Departamento de Fisiologia - IBUSP

exec

Exercícios

Trabalho final

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 —-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)
}
05_curso_antigo/r2017/alunos/trabalho_final/ingrid.dash/start.txt · Última modificação: 2020/08/12 06:04 (edição externa)