Как сравнить три столбца в 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 на основе других столбцов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *