Условно заменить значения в следующем ряду

Как я могу написать условную функцию, которая сравнивает записи в строках фрейма данных в R. Например, если запись в строке 1 больше, чем запись в строке 2, замените запись строки 2 на "нижнюю"

row1 row2
667  668    
673  674
665  679 
664  668 

Записи в первом столбце будут выше, ниже, ниже, если функция будет применена.

2 ответа

Вы можете использовать ifelse:

dat$row2 <- ifelse(dat$row1 < dat$row2, "higher", "lower")

Мы могли бы сделать

dat1 <- dat
dat1[] <- c('lower', 'higher')[t(apply(dat, 1, order))]
Другие вопросы по тегам