Come utilizzare la funzione n() in r (con esempi)


Puoi utilizzare la funzione n() dal pacchetto dplyr in R per contare il numero di osservazioni in un gruppo.

Ecco tre modi comuni per utilizzare questa funzionalità nella pratica:

Metodo 1: utilizzare n() per contare le osservazioni per gruppo

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

Metodo 2: utilizzare n() per aggiungere una colonna che visualizza le osservazioni per gruppo

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

Metodo 3: utilizzare n() per filtrare in base alle osservazioni per gruppo

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

Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati in R che contiene informazioni su vari giocatori di basket:

 #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

Esempio 1: utilizzare n() per contare le osservazioni per gruppo

Il codice seguente mostra come utilizzare la funzione n() con la funzione summarise() per contare il numero di osservazioni per squadra :

 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

Dal risultato possiamo vedere:

  • La squadra A appare 3 volte
  • La squadra B appare 2 volte
  • La squadra C appare 1 volta

Esempio 2: utilizzare n() per aggiungere una colonna che visualizza le osservazioni per gruppo

Il codice seguente mostra come utilizzare la funzione n() con la funzione mutate() per aggiungere una colonna al frame della data contenente il numero di osservazioni per squadra :

 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

La nuova colonna chiamata count contiene il numero di squadre per ogni riga nel data frame.

Esempio 3: utilizzare n() per filtrare in base alle osservazioni per gruppo

Il codice seguente mostra come utilizzare la funzione n() con la funzione filter() per filtrare il frame di dati per mostrare solo quelle righe in cui la squadra appare più di una volta:

 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

Tieni presente che il frame di dati risultante contiene solo righe in cui la squadra è “A” o “B”, perché queste sono le uniche squadre il cui numero è maggiore di uno.

Risorse addizionali

I seguenti tutorial spiegano come utilizzare altre funzioni comuni in R:

Come utilizzare la funzione across() in dplyr
Come utilizzare la funzione relocate() in dplyr
Come utilizzare la funzione slice() in dplyr

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *