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