Kom igångKom igång gratis

Städa upp dina data med keep

Sedan kursens start har vi arbetat med resultaten från ett veckolångt A/B-test.

Vi har samlat resultaten i en lista kallad all_visits. Den innehåller visit_a, visit_b och visit_c. Dessa vektorer är namnlösa och innehåller vardera sju tal – ett för varje dag i veckan.

Första frågan vi vill besvara är: vilka dagar nådde i genomsnitt fler än 100 besök per timme? Vi använder funktionen keep(). Men svaret blir svårtolkat med en namnlös vektor – du ser talen, men vet inte vilken dag de tillhör.

Lösningen är att använda set_names(). Det är precis vad vi gör i det här kapitlet: först tillämpar vi keep() på namnlösa vektorer, sedan på namngivna.

Den här övningen är en del av kursen

Funktionell programmering på mellannivå med purrr

Visa kurs

Övningsinstruktioner

  • Skapa en mapper som testar om .x är större än 100. Du kommer att använda den två gånger.
  • Kombinera mappern med keep() och applicera den på den namnlösa listan all_visit. Eftersom resultatet är namnlöst vet du inte vilka dagar du har behållit.
  • Namnge varje vektor genom att kombinera map() och set_names(), med hjälp av den namnvektor vi har tillhandahållit.
  • Applicera den tidigare skapade mappern på den namngivna listan. Som du ser är resultatet nu mycket lättare att läsa!

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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, ___))
Redigera och kör kod