So zählen sie unterschiedliche werte mit dplyr (mit beispielen)


Sie können eine der folgenden Methoden verwenden, um die Anzahl unterschiedlicher Werte in einem R-Datenrahmen mit der Funktion n_distinct() von dplyr zu zählen:

Methode 1: Zählen Sie unterschiedliche Werte in einer Spalte

 n_distinct(df$column_name)

Methode 2: Zählen Sie unterschiedliche Werte in allen Spalten

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

Methode 3: Zählen Sie unterschiedliche Werte nach Gruppe

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

Die folgenden Beispiele zeigen, wie jede dieser Methoden in der Praxis mit dem folgenden Datenrahmen verwendet wird:

 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: Zählen Sie unterschiedliche Werte in einer Spalte

Der folgende Code zeigt, wie man mit n_distinct() die Anzahl der unterschiedlichen Werte in der Spalte „Team“ zählt:

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

[1] 2

In der Spalte „Team“ gibt es zwei unterschiedliche Werte.

Methode 2: Zählen Sie unterschiedliche Werte in allen Spalten

Der folgende Code zeigt, wie die Funktionen sapply() und n_distinct() verwendet werden, um die Anzahl der unterschiedlichen Werte in jeder Spalte des Datenrahmens zu zählen:

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

   team points assists 
      2 5 6

Aus dem Ergebnis können wir sehen:

  • In der Spalte „Team“ gibt es zwei unterschiedliche Werte
  • In der Spalte „Punkte“ gibt es 5 unterschiedliche Werte
  • In der Spalte „hilft“ gibt es 6 verschiedene Werte

Methode 3: Zählen Sie unterschiedliche Werte nach Gruppe

Der folgende Code zeigt, wie die Funktion n_distinct() verwendet wird, um die Anzahl der unterschiedlichen Werte pro Gruppe zu zählen:

 #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

Aus dem Ergebnis können wir sehen:

  • Es gibt 3 unterschiedliche Punktwerte für Team A.
  • Für Team B gibt es 2 separate Punktwerte.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erklärt, wie Sie andere häufige Vorgänge mit dplyr ausführen:

So kodieren Sie Werte mit dplyr neu
So ersetzen Sie NA durch Zero in dplyr
So sortieren Sie Variablen mit dplyr nach Gruppen
So wählen Sie mit dplyr die erste Zeile nach Gruppe aus

Einen Kommentar hinzufügen

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