Как сравнить два столбца в R (с примерами)


Часто вам может понадобиться сравнить два столбца в R и записать результаты сравнения в третий столбец.

Вы можете легко сделать это, используя следующий синтаксис:

df$ new_col <- ifelse(df$ col1 > df$ col2 , 'A',
 ifelse(df$ col1 < df$ col2 , 'B', 'C'))

Эта единственная строка кода делает следующее:

  • Если столбец 1 больше, чем столбец 2, запишите «A» в качестве вывода в третий столбец.
  • В противном случае, если столбец 1 меньше, чем столбец 2, запишите «B» в качестве вывода.
  • В противном случае напишите «C» в качестве вывода.

В следующем примере показано, как использовать этот код на практике.

Пример: сравнение двух столбцов в R

Предположим, у нас есть следующий фрейм данных, который показывает количество голов, забитых двумя футбольными командами в пяти разных матчах:

#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

Мы можем использовать следующий код для сравнения количества голов по строкам и вывода победителя матча в третьем столбце:

#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

Результаты сравнения отображаются в новой колонке под названием « победитель» .

Дополнительные ресурсы

Как сложить столбцы фрейма данных в R
Как объединить два столбца в один в R
Как перебрать имена столбцов в R