Como agrupar e filtrar dados usando dplyr


Você pode usar a seguinte sintaxe básica para agrupar e filtrar dados usando o pacote dplyr em R:

 df %>%
  group_by(team) %>%
  filter(any(points = = 10 ))

Esta sintaxe específica agrupa um quadro de dados por coluna chamado equipe e filtra apenas grupos onde pelo menos um valor na coluna de pontos é igual a 10.

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: agrupar e filtrar dados usando dplyr

Suponha que temos o seguinte quadro de dados em R que contém informações sobre vários jogadores de basquete:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'),
                 points=c(10, 15, 8, 4, 10, 10, 12, 12, 7))

#view data frame
df

  team points
1 to 10
2 to 15
3 to 8
4 B 4
5 B 10
6 B 10
7 C 12
8 C 12
9 C 7

Podemos usar o código a seguir para agrupar o quadro de dados pelo valor na coluna Equipe e, em seguida, filtrar todos os grupos que não possuem pelo menos um valor na coluna Pontos igual a 10:

 library (dplyr)

#group by team and filter out teams where no points value is equal to 10
df %>%
  group_by(team) %>%
  filter(any(points == 10 ))

# A tibble: 6 x 2
# Groups: team [2]
  team points
    
1 to 10
2 to 15
3 to 8
4 B 4
5 B 10
6 B 10

Observe que todas as linhas onde o time é igual a “C” são filtradas porque não há valor na coluna de pontos para o time “C” igual a 10.

Observe que este é apenas um exemplo de filtro que poderíamos aplicar.

Por exemplo, poderíamos aplicar outro filtro no qual filtramos equipes com pelo menos um valor na coluna de pontos maior que 13:

 library (dplyr)

#group by team and filter out teams where no points value is greater than 13
df %>%
  group_by(team) %>%
  filter(any(points > 13 ))

# A tibble: 3 x 2
# Groups: team [1]
  team points
    
1 to 10
2 to 15
3 to 8

Observe que apenas as linhas onde o time é igual a “A” são mantidas, pois é o único time com pelo menos um valor de ponto superior a 13.

Nota : Você pode encontrar a documentação completa da função de filtro no dplyr aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns no dplyr:

Como selecionar a primeira linha por grupo usando dplyr
Como filtrar por múltiplas condições usando dplyr
Como filtrar linhas contendo uma determinada string usando dplyr

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *