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