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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.