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