====== 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) }