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