Gente común
La función distinct() te mostró los valores únicos. También puede ser útil saber cuántos tienes de cada valor. La función de base R para esto es table(); no está soportada en sparklyr porque no se ajusta a la filosofía de tidyverse de mantenerlo todo en tibbles. En su lugar, debes usar count(). Para usarla, pasa los nombres de las columnas sin comillas. Por ejemplo, para encontrar los recuentos de combinaciones distintas de las columnas x, y y z, escribirías lo siguiente.
a_tibble %>%
count(x, y, z)
El resultado es el mismo que
a_tibble %>%
distinct(x, y, z)
… salvo que obtienes una columna adicional, n, que contiene los recuentos.
Un uso muy práctico de count() es obtener los valores más comunes de algo. Para hacerlo, llamas a count() con el argumento sort = TRUE, que ordena las filas por los valores descendentes de la columna n, y luego usas slice_max() para limitar los resultados a los primeros valores, tantos como quieras. (slice_max() es similar a head() de base R, pero funciona con conjuntos de datos remotos como los de Spark). Por ejemplo, para obtener las 20 combinaciones más comunes de las columnas x, y y z, usa lo siguiente.
a_tibble %>%
count(x, y, z, sort = TRUE) %>%
slice_max(20)
Este ejercicio forma parte del curso
Introducción a Spark con sparklyr en R
Instrucciones del ejercicio
Se ha creado una conexión de Spark llamada spark_conn. Se ha predefinido un tibble asociado a los metadatos de pistas almacenados en Spark como track_metadata_tbl.
- Cuenta los valores de la columna
artist_namedetrack_metadata_tbl.- Pasa
sort = TRUEpara ordenar las filas por popularidad descendente.
- Pasa
- Restringe los resultados a los 20 primeros usando
slice_max().
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# track_metadata_tbl has been pre-defined
track_metadata_tbl
track_metadata_tbl %>%
# Count the artist_name values
___ %>%
# Restrict to top 20
___