So verwenden sie die setdiff-funktion in r (mit beispielen)


Die Funktion setdiff() in R kann verwendet werden, um die Unterschiede zwischen zwei Mengen zu ermitteln. Diese Funktion verwendet die folgende Syntax:

setdiff(x,y)

Gold:

  • x, y: Vektoren oder Datenrahmen, die eine Folge von Elementen enthalten

Dieses Tutorial bietet mehrere Beispiele für die praktische Verwendung dieser Funktion.

Beispiel 1: Setdiff mit numerischen Vektoren

Der folgende Code zeigt, wie man setdiff() verwendet, um alle Werte in Vektor a zu identifizieren, die nicht in Vektor b erscheinen:

 #definevectors
a <- c(1, 3, 4, 5, 9, 10)
b <- c(1, 2, 3, 4, 5, 6)

#find all values in a that do not occur in b
setdiff (a,b)

[1] 9 10

Im Vektor a erscheinen zwei Werte, die im Vektor b nicht vorkommen: 9 und 10 .

Wenn wir die Reihenfolge der Vektoren in der Funktion setdiff() umkehren, können wir stattdessen alle Werte in Vektor b identifizieren, die nicht in Vektor a vorkommen:

 #find all values in b that do not occur in a
setdiff (b,a)

[1] 2 6

Im Vektor b erscheinen zwei Werte, die im Vektor a nicht vorkommen: 2 und 6 .

Beispiel 2: Setdiff mit Zeichenvektoren

Der folgende Code zeigt, wie man setdiff() verwendet, um alle Werte im char1- Vektor zu identifizieren, die nicht im char2- Vektor erscheinen:

 #define character vectors
char1 <- c('A', 'B', 'C', 'D', 'E')
char2 <- c('A', 'B', 'E', 'F', 'G')

#find all values in char1 that do not occur in char2
setdiff (char1, char2)

[1] “C” “D”

Beispiel 3: Setdiff mit Datenrahmen

Der folgende Code zeigt, wie man setdiff() verwendet, um alle Werte in einer Datenrahmenspalte zu identifizieren, die nicht in derselben Spalte eines zweiten Datenrahmens erscheinen:

 #define data frames
df1 <- data. frame (team=c('A', 'B', 'C', 'D'),
                 conference=c('West', 'West', 'East', 'East'),
                 dots=c(88, 97, 94, 104))

df2 <- data. frame (team=c('A', 'B', 'C', 'D'),
                 conference=c('West', 'West', 'East', 'East'),
                 dots=c(88, 97, 98, 99))

#find differences between the points columns in the two data frames
setdiff (df1$points, df2$points)

[1] 94 104

Wir können sehen, dass die Werte 94 und 104 in der Punktspalte des ersten Datenrahmens erscheinen, jedoch nicht in der Punktspalte des zweiten Datenrahmens.

Zusätzliche Ressourcen

So summieren Sie bestimmte Spalten in R
So summieren Sie bestimmte Zeilen in R
So führen Sie einen teilweisen String-Abgleich in R durch

Einen Kommentar hinzufügen

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