Comece agoraComece grátis

Limpe seus dados com keep

Desde o início deste curso, estamos usando os resultados de um teste A/B que durou uma semana.

Colocamos esses resultados em uma lista chamada all_visits. Essa lista contém visit_a, visit_b e visit_c. Esses vetores não têm nomes. Todos contêm sete números, um para cada dia da semana.

A primeira pergunta que queremos responder é: quais dias tiveram, em média, mais de 100 visitas por hora? Vamos usar a função keep(). Mas a resposta não seria legível com um vetor sem nomes: você teria os números, mas não saberia a que dia eles correspondem.

A boa notícia é: você pode usar a função set_names() para resolver isso. É isso que faremos neste capítulo: primeiro, usar keep() em vetores sem nomes e, depois, em vetores nomeados.

Este exercicio faz parte do curso

Programação Funcional Intermediária com purrr

Ver curso

Instruções do exercicio

  • Crie um mapper que teste se .x é maior que 100. Você vai usá-lo duas vezes.
  • Combinando esse mapper com keep(), faça o mapeamento na lista sem nomes all_visit. Como o resultado não tem nomes, você não sabe quais dias foram mantidos.
  • Dê nome a cada vetor combinando map() e a função set_names(), usando o vetor de nomes que fornecemos.
  • Faça o mapeamento do mapper criado anteriormente na nova lista nomeada. Como você pode ver, agora está bem mais legível!

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# Create a mapper that test if .x is more than 100 
is_more_than_hundred <- ___(~ .x > 100)

# Use this mapper with keep() on the all_visits object 
map(all_visits, ~ ___(.x, is_more_than_hundred))

# Use the  day vector to set names to all_list
day <- c("mon", "tue", "wed", "thu", "fri", "sat", "sun")
full_visits_named <- map(all_visits, ~ ___(.x, ___))

# Use this mapper with keep() 
map(full_visits_named, ~ ___(.x, ___))
Editar e Executar Código