Условно заменить значения в следующем ряду
Как я могу написать условную функцию, которая сравнивает записи в строках фрейма данных в 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))]