Jak porównać dwie kolumny w r: z przykładami


Często możesz chcieć porównać dwie kolumny w R i zapisać wyniki porównania w trzeciej kolumnie.

Można to łatwo zrobić, korzystając z następującej składni:

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

Ta pojedyncza linia kodu wykonuje następujące czynności:

  • Jeśli kolumna 1 jest większa niż kolumna 2, wpisz „A” jako wynik w trzeciej kolumnie.
  • W przeciwnym razie, jeśli kolumna 1 jest mniejsza niż kolumna 2, wpisz „B” jako wynik.
  • W przeciwnym razie napisz „C” jako wynik.

Poniższy przykład pokazuje, jak wykorzystać ten kod w praktyce.

Przykład: porównaj dwie kolumny w R

Załóżmy, że mamy następującą ramkę danych pokazującą liczbę bramek zdobytych przez dwie drużyny piłkarskie w pięciu różnych meczach:

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

#view data frame
df

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

Możemy użyć poniższego kodu, aby porównać liczbę bramek w wierszu i wyświetlić zwycięzcę meczu w trzeciej kolumnie:

 #compare A_points and B_points and output results to new column titled winner
df$winner <- ifelse (df$A_points > df$B_points, ' A ',
               ifelse (df$A_points < df$B_points, ' B ', ' Tie '))

#view data frame
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

Wyniki porównania zostaną wyświetlone w nowej kolumnie o nazwie zwycięzca .

Dodatkowe zasoby

Jak układać kolumny ramek danych w R
Jak połączyć dwie kolumny w jedną w R
Jak iterować po nazwach kolumn w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *