НачатьНачать бесплатно

Самые популярные

Функция distinct() позволяет получить уникальные значения. Однако нередко важно знать, сколько раз встречается каждое значение. В базовом R для этого используется функция table(), но она не поддерживается в sparklyr, поскольку не соответствует философии tidyverse — хранить всё в тиббл. Вместо неё следует использовать count(). Передайте в неё имена столбцов без кавычек. Например, чтобы подсчитать количество уникальных комбинаций столбцов x, y и z, напишите следующее.

a_tibble %>%
  count(x, y, z)

Результат аналогичен

a_tibble %>%
  distinct(x, y, z)

… за тем исключением, что появляется дополнительный столбец n с количеством вхождений.

Очень удобный способ применения count() — поиск наиболее часто встречающихся значений. Для этого вызовите count() с аргументом sort = TRUE, который сортирует строки по убыванию значений столбца n, а затем используйте slice_max(), чтобы ограничить результаты нужным числом строк. (slice_max() аналогична функции head() из базового R, но работает с удалёнными наборами данных, например с данными в Spark.) Чтобы получить топ-20 наиболее распространённых комбинаций столбцов x, y и z, используйте следующий код.

a_tibble %>%
  count(x, y, z, sort = TRUE) %>%
  slice_max(20)

Это упражнение является частью курса

Введение в Spark с sparklyr на R

Посмотреть курс

Инструкции к упражнению

Подключение к Spark уже создано и доступно как spark_conn. Тиббл, связанный с метаданными треков, хранящихся в Spark, предварительно определён как track_metadata_tbl.

  • Подсчитайте значения в столбце artist_name из track_metadata_tbl.
    • Передайте sort = TRUE, чтобы отсортировать строки по убыванию популярности.
  • Ограничьте результаты топ-20 с помощью slice_max().

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# track_metadata_tbl has been pre-defined
track_metadata_tbl

track_metadata_tbl %>%
  # Count the artist_name values
  ___ %>%
  # Restrict to top 20
  ___
Редактировать и запускать код