So vergleichen Sie zwei Spalten in R (mit Beispielen)

Von Fabian
Kategorie: R
Tags: Operationen
Lesezeit: 2 Minuten

Oft möchten Sie zwei Spalten in R vergleichen und die Ergebnisse des Vergleichs in eine dritte Spalte schreiben.

Sie können dies einfach mit der folgenden Syntax tun:

df$new_col <- ifelse(df$col1 > df$col2, 'A',
                ifelse(df$col1 < df$col2, 'B', 'C'))

Diese einzelne Codezeile führt Folgendes aus:

  • Wenn Spalte 1 größer als Spalte 2 ist, schreiben Sie 'A' als Ausgabe in die dritte Spalte.
  • Wenn andernfalls Spalte 1 kleiner als Spalte 2 ist, schreiben Sie 'B' als Ausgabe.
  • Andernfalls schreiben Sie 'C' als Ausgabe.

Das folgende Beispiel zeigt, wie dieser Code in der Praxis verwendet wird.

Beispiel: Vergleichen Sie zwei Spalten in R:

Angenommen, wir haben das folgende Dataframe, der die Anzahl der Tore zeigt, die zwei Fußballmannschaften in fünf verschiedenen Spielen erzielt haben:

#Dataframe erstellen
df <- data.frame(A_points=c(1, 3, 3, 3, 5),
                 B_points=c(4, 5, 2, 3, 2))

#Dataframe anzeigen
df

  A_points B_points
1        1        4
2        3        5
3        3        2
4        3        3
5        5        2

Wir können den folgenden Code verwenden, um die Anzahl der Tore pro Zeile zu vergleichen und den Gewinner des Spiels in einer dritten Spalte auszugeben:

#Vergleichen Sie A_points und B_points und geben Sie die Ergebnisse an die neue Spalte mit dem Titel Gewinner aus
df$winner <- ifelse(df$A_points > df$B_points, 'A',
               ifelse(df$A_points < df$B_points, 'B', 'Tie'))

#Dataframe anzeigen
df

  A_points B_points winner
1        1        4      B
2        3        5      B
3        3        2      A
4        3        3    Tie
5        5        2      A

Die Ergebnisse des Vergleichs werden in der neuen Spalte mit dem Namen Gewinner angezeigt.

Zusätzliche Ressourcen

So stapeln Sie Dataframespalten in R
So kombinieren Sie zwei Spalten in einer in R
So durchlaufen Sie Spaltennamen in R

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: