So finden sie alle eindeutigen kombinationen zweier vektoren in r
Sie können eine der folgenden Methoden verwenden, um alle eindeutigen Kombinationen von Elementen zweier Vektoren in R zu finden:
Methode 1: Verwenden Sie Tidyr
library (tidyr) #find unique combinations of elements from vector1 and vector2 crossing(vector1, vector2)
Methode 2: Verwenden Sie data.table
library (data.table) #find unique combinations of elements from vector1 and vector2 CJ(vector1, vector2, unique= TRUE )
Die folgenden Beispiele zeigen, wie jede dieser Methoden in der Praxis angewendet werden kann.
Beispiel 1: Einzigartige Kombinationen mit Tidyr finden
Der folgende Code zeigt, wie man mit der Funktion „crossing()“ aus dem Tidyr- Paket alle eindeutigen Kombinationen von Elementen zwischen zwei Vektoren in R findet:
library (tidyr)
#definevectors
region=c(' North ', ' South ', ' East ', ' West ')
dots=c(0, 5, 10)
#display all unique combinations of region and points
crossing(region, points)
# A tibble: 12 x 2
region points
1 East 0
2 East 5
3 East 10
4 North 0
5 North 5
6 North 10
7 South 0
8 South 5
9South 10
10 West 0
11 West 5
12 West 10
Das Ergebnis ist ein Datenrahmen, der alle eindeutigen Elementkombinationen zwischen den beiden Vektoren anzeigt.
Wir können sehen, dass es 12 einzigartige Kombinationen gibt.
Wenn Sie nur die Anzahl der eindeutigen Kombinationen wissen möchten, können Sie diese Funktion mit der Funktion nrow() umschließen:
library (tidyr)
#definevectors
region=c(' North ', ' South ', ' East ', ' West ')
dots=c(0, 5, 10)
#display number of unique combinations of region and points
nrow(crossing(region, points))
[1] 12
Beachten Sie, dass die Funktion „crossing()“ auch mit mehr als zwei Vektoren verwendet werden kann.
Geben Sie der Funktion „crossing()“ einfach die Namen beliebig vieler Vektoren an, um die Gesamtzahl der eindeutigen Kombinationen zu ermitteln.
Beispiel 2: Finden Sie einzigartige Kombinationen mithilfe von data.table
Der folgende Code zeigt, wie man mit der Funktion CJ() aus dem Paket data.table alle eindeutigen Kombinationen von Elementen zwischen zwei Vektoren in R findet:
library (data.table)
#definevectors
region=c(' North ', ' South ', ' East ', ' West ')
dots=c(0, 5, 10)
#display all unique combinations of region and points
CJ(region, points, unique= TRUE )
region points
1: East 0
2: East 5
3: East 10
4: North 0
5: North 5
6: North 10
7: South 0
8: South 5
9: South 10
10: West 0
11: West 5
12: West 10
Das Ergebnis ist ein Datenrahmen, der alle eindeutigen Elementkombinationen zwischen den beiden Vektoren anzeigt.
Beachten Sie, dass die Ergebnisse der Funktion CJ() den Ergebnissen der Funktion crossing() entsprechen.
Die Funktion CJ() kann auch mit mehr als zwei Vektoren verwendet werden.
Geben Sie der Funktion CJ() einfach die Namen beliebig vieler Vektoren an, um die Gesamtzahl der eindeutigen Kombinationen zu ermitteln.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:
So zählen Sie eindeutige Werte nach Gruppen in R
So wählen Sie einzelne Zeilen in einem Datenrahmen in R aus
So zählen Sie unterschiedliche Werte mit dplyr