Grupowe mutacje
Funkcja group_by() przydaje się nie tylko do obliczania statystyk podsumowujących – możesz jej też używać do tworzenia nowych kolumn z wartościami zależnymi od grupy. Na przykład jedną z technik normalizacji danych jest odjęcie średniej i podzielenie przez odchylenie standardowe. Normalizację na poziomie grupy możesz wykonać za pomocą poniższego kodu.
a_tibble %>%
group_by(grp1, grp2) %>%
mutate(normalized_x = (x - mean(x)) / sd(x))
To ćwiczenie jest częścią kursu
Wprowadzenie do Spark z pakietem sparklyr w R
Instrukcje do ćwiczenia
Połączenie ze Spark zostało już utworzone jako spark_conn. Tabela tibble powiązana z metadanymi utworów zapisanymi w Spark jest wstępnie zdefiniowana jako track_metadata_tbl.
- Pogrupuj zawartość
track_metadatawedługartist_name. - Dodaj nową kolumnę o nazwie
time_since_first_release.- Ustaw jej wartość jako różnicę między
yearw danej grupie a pierwszym rokiem wydania utworu przez artystę, czylimin()z kolumnyyear.
- Ustaw jej wartość jako różnicę między
- Posortuj wiersze w malejącej kolejności według
time_since_first_release.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# track_metadata_tbl has been pre-defined
track_metadata_tbl
track_metadata_tbl %>%
# Group by artist
___ %>%
# Calc time since first release
___ %>%
# Arrange by descending time since first release
___