Hoe de maximale waarde per groep in r te vinden


Vaak wil je misschien de maximale waarde van elke groep in een dataframe in R vinden. Gelukkig is dit eenvoudig te doen met behulp van functies in het dplyr- pakket.

In deze tutorial wordt uitgelegd hoe u dit kunt doen met behulp van het volgende dataframe:

 #create data frame
df <- data.frame(team = c('A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position = c('G', 'F', 'F', 'G', 'G', 'G', 'F'),
                 points = c(12, 15, 19, 22, 34, 34, 39))

#view data frame
df

  team position points
1 AG 12
2 AF15
3 FY 19
4 BG 22
5 BG 34
6 BG 34
7 BF 39

Voorbeeld 1: Zoek de maximale waarde per groep

De volgende code laat zien hoe u de maximale waarde per team per positie kunt vinden:

 library(dplyr)

#find max value by team and position
df %>%
  group_by (team, position) %>%
  summarize (max = max(points, na.rm= TRUE ))

# A tibble: 4 x 3
# Groups: team [?]
  team position max
      
1AF 19.0
2 AG 12.0
3 BF 39.0
4 BG 34.0

Voorbeeld 2: Return-rijen met de maximale waarde per groep

De volgende code laat zien hoe u rijen retourneert die de maximale waarde per team en per positie bevatten:

 library(dplyr)

#find rows that contain max points by team and position
df %>%
  group_by (team, position) %>%
  filter (points == max(points, na.rm= TRUE ))

# A tibble: 5 x 3
# Groups: team, position [4]
  team position points
       
1 AG 12.0
2AF 19.0
3 BG 34.0
4 BG 34.0
5BF 39.0

Voorbeeld 3: Retourneert een enkele rij met de maximale waarde per groep

In het vorige voorbeeld waren er twee spelers die het maximale aantal punten hadden in team A en die beiden op positie G stonden. Als je alleen de eerste speler met de maximale waarde aan een groep wilt teruggeven, kun je de slice( ) functie. werk als volgt:

 library(dplyr)

#find rows that contain max points by team and position
df %>%
  group_by (team, position) %>%
  slice (which.max(points))

# A tibble: 4 x 3
# Groups: team, position [4]
  team position points
       
1AF 19.0
2 AG 12.0
3 BF 39.0
4 BG 34.0

Aanvullende bronnen

De complete gids: gegevens groeperen en samenvatten in R
Rijen filteren in R
Hoe dubbele regels in R te verwijderen

Einen Kommentar hinzufügen

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