Como usar a função n() em r (com exemplos)


Você pode usar a função n() do pacote dplyr em R para contar o número de observações em um grupo.

Aqui estão três maneiras comuns de usar esse recurso na prática:

Método 1: Use n() para contar observações por grupo

 df %>%
  group_by(group_variable) %>%
  summarize(count = n())

Método 2: Use n() para adicionar uma coluna exibindo observações por grupo

 df %>%
  group_by(group_variable) %>%
  mutate(count = n())

Método 3: Use n() para filtrar com base em observações por grupo

 df %>%
  group_by(group_variable) %>%
  filter(n() > 15 )

Os exemplos a seguir mostram como usar cada método na prática com 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', 'C'),
                 points=c(22, 25, 25, 20, 29, 13),
                 assists=c(10, 12, 9, 4, 11, 10),
                 rebounds=c(9, 8, 5, 10, 14, 12))

#view data frame
df

  team points assists rebounds
1 A 22 10 9
2 A 25 12 8
3 to 25 9 5
4 B 20 4 10
5 B 29 11 14
6 C 13 10 12

Exemplo 1: Use n() para contar observações por grupo

O código a seguir mostra como usar a função n() com a função summarise() para contar o número de observações por equipe :

 library (dplyr)

#count number of observations by team
df %>%
  group_by(team) %>%
  summarize(count = n())

# A tibble: 3 x 2
  team count
   
1 to 3
2 B 2
3 C 1

Pelo resultado podemos ver:

  • A equipe A aparece 3 vezes
  • Equipe B aparece 2 vezes
  • Equipe C aparece 1 vez

Exemplo 2: Use n() para adicionar uma coluna que exibe observações por grupo

O código a seguir mostra como usar a função n() com a função mutate() para adicionar uma coluna ao período contendo o número de observações por equipe :

 library (dplyr)

#add new column that shows number of observations by team
df %>%
  group_by(team) %>%
  mutate(count = n())

# A tibble: 6 x 5
# Groups: team [3]
  team points assists rebounds count
            
1 to 22 10 9 3
2 to 25 12 8 3
3 to 25 9 5 3
4 B 20 4 10 2
5 B 29 11 14 2
6 C 13 10 12 1

A nova coluna chamada contagem contém o número de equipes para cada linha no quadro de dados.

Exemplo 3: Use n() para filtrar com base em observações por grupo

O código a seguir mostra como usar a função n() com a função filter() para filtrar o quadro de dados para mostrar apenas as linhas onde a equipe aparece mais de uma vez:

 library (dplyr)

#filter rows where team count is greater than 1
df %>%
  group_by(team) %>%
  filter(n() > 1 )

# A tibble: 5 x 4
# Groups: team [2]
  team points assists rebounds
           
1 A 22 10 9
2 A 25 12 8
3 to 25 9 5
4 B 20 4 10
5 B 29 11 14

Observe que o quadro de dados resultante contém apenas linhas onde a equipe é “A” ou “B”, pois essas são as únicas equipes cujo número é maior que um.

Recursos adicionais

Os tutoriais a seguir explicam como usar outras funções comuns em R:

Como usar a função across() no dplyr
Como usar a função relocate() no dplyr
Como usar a função slice() no dplyr

Add a Comment

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