Filtrando linhas
Além de selecionar colunas, outra forma de extrair partes importantes do seu conjunto de dados é filtrar as linhas. Isso é feito usando a função filter(). Para usar filter(), você passa um tibble e algumas condições lógicas. Por exemplo, para retornar apenas as linhas em que os valores da coluna x são maiores que zero e os valores de y sejam iguais aos de z, você usaria o seguinte:
a_tibble %>%
filter(x > 0, y == z)
Antes de tentar o exercício, atenção para dois avisos. Primeiro, não confunda a função filter() do dplyr com a função filter() do pacote stats. Segundo, o sparklyr converte seu código dplyr em código de banco de dados SQL antes de enviá-lo ao Spark. Isso significa que apenas um número limitado de operações de filtragem é atualmente suportado. Por exemplo, você não pode filtrar linhas de caracteres usando expressões regulares com código como:
a_tibble %>%
filter(grepl("a regex", x))
A página de ajuda de translate_sql() descreve a funcionalidade disponível. Você pode usar operadores de comparação como >, != e %in%; operadores aritméticos como +, ^ e %%; e operadores lógicos como &, | e !. Muitas funções matemáticas, como log(), abs(), round() e sin(), também são suportadas.
Como antes, a indexação com colchetes não funciona no momento.
Este exercício faz parte do curso
Introdução ao Spark com sparklyr em R
Instruções do exercício
Uma conexão com o Spark foi criada para você como spark_conn. Um tibble vinculado aos metadados de faixas armazenados no Spark já foi definido como track_metadata_tbl.
- Como no exercício anterior, selecione
artist_name,release,titleeyearusandoselect(). - Encadeie o resultado em
filter()para obter as faixas da década de 1960.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# track_metadata_tbl has been pre-defined
glimpse(track_metadata_tbl)
# Manipulate the track metadata
track_metadata_tbl %>%
# Select columns
___ %>%
# Filter rows
___