1. Uczyć się
  2. /
  3. Courses
  4. /
  5. Funkcyjne programowanie średnio zaawansowane z purrr

Connected

Exercise

Podział zbioru danych

W poprzednim ćwiczeniu wyznaczono, że średnia liczba retweetów na tweet wynosi 3,3. Teraz przyjrzymy się, ile tweetów przekracza tę średnią, a ile jest poniżej niej.

W tym celu najpierw stworzymy mapper sprawdzający, czy .x jest większe od 3.3. Następnie wypełnimy wstępnie map_at(), gdzie .at to "retweet_count", a .f to najpierw stworzony mapper, a następnie jego negacja.

Uwaga: od czasu powstania tego kursu zachowanie purrr uległo zmianie. Aby uniknąć konfliktu argumentów między .f w partial() a .f w map_at(), należy użyć operatora quasi-cytowania := (czasem nazywanego „operatorem morsa"). Na potrzeby tego ćwiczenia wystarczy wiedzieć, że := działa jak =, ale informuje partial(), że argument powinien zostać przekazany do map_at(), a nie zatrzymany dla siebie.

Gdy narzędzia będą gotowe, użyjemy ich na obiekcie non_rt – wyodrębnieniu „oryginalnych tweetów" ze zbioru danych rstudioconf.

Biblioteka purrr jest już wczytana.

Instrukcje

100 XP
  • Utwórz mean_above – mapper sprawdzający, czy .x jest większe od 3.3.

  • Przygotuj dwie wersje map_at(): jedną z "retweet_count" i mean_above, a drugą z "retweet_count" i negacją mean_above.

  • Zastosuj obie wstępnie wypełnione funkcje na obiekcie non_rt i zachowaj tylko elementy "retweet_count".

  • Sprawdź rozmiar obu wyników.