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