Jak porównać trzy kolumny w r (z przykładem)


Możesz użyć następującej podstawowej składni, aby porównać wartości trzech kolumn w R:

 df$all_matching <- df$A == df$B & df$B == df$C

Ta składnia tworzy nową kolumnę o nazwie all_matching , która zwraca PRAWDA , jeśli wszystkie kolumny mają pasujące wartości, w przeciwnym razie zwraca FAŁSZ .

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: porównaj trzy kolumny w R

Załóżmy, że mamy następującą ramkę danych w R z trzema kolumnami:

 #create data frame
df <- data. frame (A=c(4, 0, 3, 3, 6, 8, 7, 9, 12),
                 B=c(4, 2, 3, 5, 6, 4, 7, 7, 12),
                 C=c(4, 0, 3, 5, 5, 10, 7, 9, 12))

#view data frame
df

   ABC
1 4 4 4
2 0 2 0
3 3 3 3
4 3 5 5
5 6 6 5
6 8 4 10
7 7 7 7
8 9 7 9
9 12 12 12

Możemy użyć poniższego kodu, aby utworzyć nową kolumnę o nazwie all_matching , która zwraca PRAWDA , jeśli wszystkie trzy kolumny w danym wierszu pasują, i FAŁSZ , jeśli nie:

 #create new column that checks if values in all three columns match
df$all_matching <- df$A == df$B & df$B == df$C

#view updated data frame
df

   ABC all_matching
1 4 4 4 TRUE
2 0 2 0 FALSE
3 3 3 3 TRUE
4 3 5 5 FALSE
5 6 6 5 FALSE
6 8 4 10 FALSE
7 7 7 7 TRUE
8 9 7 9 FALSE
9 12 12 12 TRUE

Nowa kolumna o nazwie all_matching wskazuje, czy wartości w trzech kolumnach pasują do siebie w danym wierszu.

Na przykład:

  • Wszystkie trzy wartości są zgodne w pierwszym wierszu, więc zwracana jest wartość TRUE .
  • Nie wszystkie wartości w drugim wierszu pasują, dlatego zwracana jest wartość FALSE .
  • Wszystkie trzy wartości są zgodne w trzecim wierszu, więc zwracana jest wartość TRUE .

I tak dalej.

Jeśli chcesz zwrócić wartości inne niż PRAWDA i FAŁSZ , możesz określić te wartości w funkcji ifelse() .

Na przykład możemy użyć poniższego kodu, aby zwrócić „Tak”, jeśli wartości we wszystkich trzech kolumnach pasują, lub „Nie” w przeciwnym razie:

 #create new column that checks if values in all three columns match
df$all_matching <- ifelse(df$A == df$B & df$B == df$C, ' Yes ', ' No ')

#view updated data frame
df

   ABC all_matching
1 4 4 4 Yes
2 0 2 0 No
3 3 3 3 Yes
4 3 5 5 No
5 6 6 5 No
6 8 4 10 No
7 7 7 7 Yes
8 9 7 9 No
9 12 12 12 Yes

Nowa kolumna zwraca teraz „Tak” lub „Nie” zamiast PRAWDA lub FAŁSZ .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:

Jak sprawdzić, czy kolumna istnieje w ramce danych w R
Jak sprawdzić, czy kolumna zawiera ciąg znaków w R
Jak dodać kolumnę do ramki danych w R na podstawie innych kolumn

Dodaj komentarz

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