Common people
A função distinct() mostrou para você os valores únicos. Também pode ser útil saber quantos de cada valor você tem. A função base do R para isso é table(); ela não é compatível com sparklyr porque não segue a filosofia do tidyverse de manter tudo em tibbles. Em vez disso, você deve usar count(). Para usá-la, passe os nomes das colunas sem aspas. Por exemplo, para encontrar as contagens de combinações distintas das colunas x, y e z, você digitária o seguinte.
a_tibble %>%
count(x, y, z)
O resultado é o mesmo que
a_tibble %>%
distinct(x, y, z)
… exceto que você obtém uma coluna extra, n, que contém as contagens.
Um uso muito interessante de count() é obter os valores mais comuns de algo. Para isso, você chama count() com o argumento sort = TRUE, que ordena as linhas pelos valores decrescentes da coluna n, e então usa slice_max() para restringir os resultados ao topo com a quantidade que você quiser. (slice_max() é semelhante ao head() do R base, mas funciona com conjuntos de dados remotos, como os do Spark.) Por exemplo, para obter as 20 combinações mais comuns das colunas x, y e z, use o seguinte.
a_tibble %>%
count(x, y, z, sort = TRUE) %>%
slice_max(20)
Este exercício faz parte do curso
Introdução ao Spark com sparklyr em R
Instruções do exercício
Uma conexão Spark foi criada para você como spark_conn. Um tibble vinculado aos metadados das faixas armazenados no Spark foi predefinido como track_metadata_tbl.
- Conte os valores na coluna
artist_namedetrack_metadata_tbl.- Passe
sort = TRUEpara ordenar as linhas por popularidade em ordem decrescente.
- Passe
- Restrinja os resultados ao top 20 usando
slice_max().
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# track_metadata_tbl has been pre-defined
track_metadata_tbl
track_metadata_tbl %>%
# Count the artist_name values
___ %>%
# Restrict to top 20
___