Hoe de n()-functie in r te gebruiken (met voorbeelden)


U kunt de functie n() uit het dplyr- pakket in R gebruiken om het aantal waarnemingen in een groep te tellen.

Hier zijn drie veelvoorkomende manieren om deze functie in de praktijk te gebruiken:

Methode 1: Gebruik n() om waarnemingen per groep te tellen

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

Methode 2: Gebruik n() om een kolom toe te voegen die waarnemingen per groep weergeeft

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

Methode 3: Gebruik n() om te filteren op basis van waarnemingen per groep

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

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met het volgende dataframe in R dat informatie bevat over verschillende basketbalspelers:

 #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

Voorbeeld 1: Gebruik n() om waarnemingen per groep te tellen

De volgende code laat zien hoe u de functie n() gebruikt met de functie summarise() om het aantal observaties per team te tellen:

 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

Uit het resultaat kunnen we zien:

  • Team A verschijnt 3 keer
  • Team B verschijnt 2 keer
  • Team C komt 1 keer voor

Voorbeeld 2: Gebruik n() om een kolom toe te voegen die waarnemingen per groep weergeeft

De volgende code laat zien hoe u de functie n() gebruikt met de functie mute() om een kolom toe te voegen aan het datumframe met daarin het aantal observaties per team :

 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

De nieuwe kolom met de naam count bevat het aantal teams voor elke rij in het dataframe.

Voorbeeld 3: Gebruik n() om te filteren op basis van waarnemingen per groep

De volgende code laat zien hoe u de functie n() gebruikt met de functie filter() om het dataframe te filteren, zodat alleen die rijen worden weergegeven waarin het team meer dan één keer voorkomt:

 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

Houd er rekening mee dat het resulterende gegevensframe alleen rijen bevat waarin het team „A“ of „B“ is, omdat dit de enige teams zijn waarvan het aantal groter is dan één.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende functies in R kunt gebruiken:

Hoe de cross()-functie in dplyr te gebruiken
Hoe de functie move() in dplyr te gebruiken
Hoe de slice()-functie in dplyr te gebruiken

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert