BaşlayınÜcretsiz başlayın

keep ile verini temizle

Bu kursun başından beri, bir haftalık A/B testinin sonuçlarını kullanıyoruz.

Bu sonuçları all_visits adlı bir listeye koyduk. Bu liste visit_a, visit_b ve visit_c içerir. Bu vektörlerin adı yok. Hepsi haftanın her günü için bir tane olmak üzere yedi sayı içeriyor.

Sormak istediğimiz ilk soru şu: haftanın hangi günlerinde saatte ortalama 100'den fazla ziyaret gerçekleşti? keep() fonksiyonunu kullanacağız. Ama adsız bir vektörle yanıt okunaklı olmayacaktır: sayılar olur, ama bu sayıların hangi güne karşılık geldiğini bilemezsin.

İyi haber şu: bu sorunu çözmek için set_names() fonksiyonunu kullanabilirsin. Bu bölümde yapacağımız şey şu: önce adsız vektörlerde keep() kullanmak, sonra adlandırılmış olanlarda kullanmak.

Bu egzersiz, kursun bir parçasıdır

purrr ile Orta Düzey Fonksiyonel Programlama

Kursa Göz Atın

Egzersiz talimatları

  • .x'in 100'den büyük olup olmadığını test edecek bir eşleyici (mapper) oluştur. Bunu iki kez kullanacaksın.
  • Bu eşleyiciyi keep() ile birleştir ve adsız liste all_visit üzerinde uygula. Sonuç adsız olduğu için hangi günleri tuttuğunu bilemiyorsun.
  • Sağladığımız adlar vektörünü kullanarak, map() ve set_names() fonksiyonlarını birleştirip her vektörü adlandır.
  • Daha önce oluşturduğun eşleyiciyi yeni adlandırılmış liste üzerinde uygula. Gördüğün gibi, şimdi çok daha okunaklı!

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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, ___))
Kodu Düzenle ve Çalıştır