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
Pokyny k cvičení
- Vytvoř mapper, který otestuje, zda je
.xvětší než 100. Použiješ ho dvakrát. - Kombinací tohoto mapperu s funkcí
keep()ho aplikuj na nepojmenovaný seznamall_visit. Protože výsledek není pojmenovaný, nevíš, které dny jsi zachoval/a. - Pojmenuj každý vektor kombinací funkcí
map()aset_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, ___))