Hoe u een telkolom toevoegt aan een dataframe in r


U kunt de volgende basissyntaxis gebruiken om een kolom ‚telling‘ toe te voegen aan een dataframe in R:

 df %>%
  group_by(var1) %>%
  mutate(var1_count = n())

Deze specifieke syntaxis voegt een kolom met de naam var1_count toe aan het dataframe dat het aantal waarden bevat in de kolom met de naam var1 .

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: voeg een cijferkolom toe in R

Stel dat we het volgende dataframe in R hebben dat informatie bevat over verschillende basketbalspelers:

 #define data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'),
                 position=c('G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(18, 22, 19, 14, 14, 11, 20, 28))

#view data frame
df

  team position points
1 AG 18
2 AF 22
3 FY 19
4 BF 14
5 BG 14
6 BG 11
7 BF 20
8 BF 28

We kunnen de volgende code gebruiken om een kolom toe te voegen met de naam team_count , die het aantal van elk team bevat:

 library (dplyr)

#add column that shows total count of each team
df %>%
  group_by(team) %>%
  mutate(team_count = n())

# A tibble: 8 x 4
# Groups: team [2]
  team position points team_count
              
1 AG 18 3
2 AF 22 3
3 FY 19 3
4 BF 14 5
5 BG 14 5
6 BG 11 5
7 BF 20 5
8 BF 28 5

Er zijn 3 lijnen met een teamwaarde van A en 5 lijnen met een teamwaarde van B.

Dus:

  • Voor elke rij waarin team gelijk is aan A, is de waarde in de kolom team_count 3 .
  • Voor elke rij waarin team gelijk is aan B, is de waarde in de kolom team_count 5 .

U kunt ook een kolom ‚account‘ toevoegen waarin verschillende variabelen zijn gegroepeerd.

De volgende code laat bijvoorbeeld zien hoe u een kolom ‚account‘ toevoegt waarin team- en positievariabelen worden gegroepeerd:

 library (dplyr)

#add column that shows total count of each team and position
df %>%
  group_by(team, position) %>%
  mutate(team_pos_count = n())

# A tibble: 8 x 4
# Groups: team, position [4]
  team position points team_pos_count
                  
1 AG 18 1
2 AF 22 2
3 FY 19 2
4 BF 14 3
5 BG 14 2
6 BG 11 2
7 BF 20 3
8 BF 28 3

Uit het resultaat kunnen we zien:

  • Er is 1 rij met A in de teamkolom en G in de positiekolom .
  • Er zijn 2 rijen met A in de teamkolom en F in de positiekolom .
  • Er zijn 3 rijen met B in de teamkolom en F in de positiekolom .
  • Er zijn 2 rijen met B in de teamkolom en F in de positiekolom .

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Groeperen op en tellen met voorwaarde in R
Hoe het aantal elementen in de lijst in R te tellen
Hoe u afzonderlijke rijen in een dataframe selecteert in R

Einen Kommentar hinzufügen

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