Как сравнить три столбца в r (с примером)
Вы можете использовать следующий базовый синтаксис для сравнения значений трех столбцов в R:
df$all_matching <- df$A == df$B & df$B == df$C
Этот синтаксис создает новый столбец с именем all_matching , который возвращает TRUE, если все столбцы имеют совпадающие значения, в противном случае он возвращает FALSE .
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: сравнение трех столбцов в R
Предположим, у нас есть следующий кадр данных в R с тремя столбцами:
#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
Мы можем использовать следующий код для создания нового столбца с именем all_matching , который возвращает TRUE, если все три столбца совпадают в данной строке, и FALSE , если нет:
#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
Новый столбец под названием all_matching указывает, совпадают ли значения в трех столбцах в данной строке.
Например:
- Все три значения совпадают в первой строке, поэтому возвращается TRUE .
- Не все значения совпадают во второй строке, поэтому возвращается FALSE .
- В третьей строке все три значения совпадают, поэтому возвращается TRUE .
И так далее.
Если вы хотите возвращать значения, отличные от TRUE и FALSE , вы можете указать эти значения в функции ifelse() .
Например, мы можем использовать следующий код, чтобы вернуть «Да», если значения во всех трех столбцах совпадают, или «Нет» в противном случае:
#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
Новый столбец теперь возвращает «Да» или «Нет» вместо TRUE или FALSE .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:
Как проверить, существует ли столбец во фрейме данных в R
Как проверить, содержит ли столбец строку в R
Как добавить столбец в фрейм данных в R на основе других столбцов