Začněte nyníZačněte zdarma

Vyčisti svá data pomocí keep

Od začátku kurzu pracujeme s výsledky týdenního A/B testu.

Tyto výsledky jsou uložené v seznamu all_visits, který obsahuje visit_a, visit_b a visit_c. Jde o nepojmenované vektory, každý se sedmi čísly – jedním pro každý den v týdnu.

První otázka, na kterou hledáme odpověď, zní: ve které dny přesáhl průměrný počet návštěv za hodinu hodnotu 100? K tomu využijeme funkci keep(). Jenže bez pojmenovaného vektoru by výsledek nebyl příliš čitelný – čísla by tam sice byla, ale nevěděl/a bys, ke kterému dni patří.

Dobrou zprávou je, že tento problém vyřeší funkce set_names(). Přesně to uděláme v této kapitole: nejdřív použijeme keep() na nepojmenované vektory a pak na pojmenované.

Toto cvičení je součástí kurzu

Intermediate Functional Programming with purrr

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř mapper, který otestuje, zda je .x větší než 100. Použiješ ho dvakrát.
  • Kombinací tohoto mapperu s funkcí keep() ho aplikuj na nepojmenovaný seznam all_visit. Protože výsledek není pojmenovaný, nevíš, které dny jsi zachoval/a.
  • Pojmenuj každý vektor kombinací funkcí map() a set_names() s využitím vektoru názvů, který jsme ti připravili.
  • Aplikuj dříve vytvořený mapper na nově pojmenovaný seznam. Jak vidíš, výsledek je teď mnohem přehlednější!

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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, ___))
Upravit a spustit kód