Hoe u verschillende waarden kunt tellen met dplyr (met voorbeelden)


U kunt een van de volgende methoden gebruiken om het aantal verschillende waarden in een R-dataframe te tellen met behulp van de functie n_distinct() van dplyr :

Methode 1: Tel verschillende waarden in een kolom

 n_distinct(df$column_name)

Methode 2: Tel verschillende waarden in alle kolommen

 sapply(df, function (x) n_distinct(x))

Methode 3: Tel verschillende waarden per groep

 df %>%
group_by (grouping_column) %>%
summarize (count_distinct = n_distinct(values_column))

De volgende voorbeelden laten zien hoe u elk van deze methoden in de praktijk kunt gebruiken met het volgende dataframe:

 library (dplyr)

#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(6, 6, 8, 10, 9, 9, 12, 12),
                 assists=c(3, 6, 4, 2, 4, 5, 5, 9))

#view data frame
df

  team points assists
1 to 6 3
2 to 6 6
3 to 8 4
4 to 10 2
5 B 9 4
6 B 9 5
7 B 12 5
8 B 12 9

Methode 1: Tel verschillende waarden in een kolom

De volgende code laat zien hoe u n_distinct() gebruikt om het aantal verschillende waarden in de kolom ‚team‘ te tellen:

 #count distinct values in 'team' column
n_distinct(df$team)

[1] 2

Er zijn 2 verschillende waarden in de kolom ‚team‘.

Methode 2: Tel verschillende waarden in alle kolommen

De volgende code laat zien hoe u de functies sapply() en n_distinct() gebruikt om het aantal verschillende waarden in elke kolom van het dataframe te tellen:

 #count distinct values in every column
sapply(df, function (x) n_distinct(x))

   team points assists 
      2 5 6

Uit het resultaat kunnen we zien:

  • Er zijn 2 verschillende waarden in de kolom ‚team‘
  • Er zijn 5 verschillende waarden in de kolom “punten”.
  • Er zijn 6 verschillende waarden in de kolom ‘helpt’

Methode 3: Tel verschillende waarden per groep

De volgende code laat zien hoe u de functie n_distinct() gebruikt om het aantal verschillende waarden per groep te tellen:

 #count distinct 'points' values by 'team'
df %>%
  group_by (team) %>%
  summarize (distinct_points = n_distinct(points))

# A tibble: 2 x 2
  team distinct_points 
1 to 3
2 B 2

Uit het resultaat kunnen we zien:

  • Er zijn 3 verschillende puntwaarden voor team A.
  • Er zijn 2 aparte puntwaarden voor Team B.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen kunt uitvoeren met dplyr:

Hoe waarden te hercoderen met dplyr
Hoe NA te vervangen door Zero in dplyr
Variabelen sorteren op groep met dplyr
Hoe u de eerste rij per groep selecteert met dplyr

Einen Kommentar hinzufügen

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