У меня есть набор данных:
structure(list(num = c(12L, 12L), code = structure(1:2, .Label = c("a",
"b"), class = "factor"), ranking = c(2414.5, 2414.5), bottom = c(-0.0153795976572657,
-0.00651997615327495), previous = c(0.00121016455715892,
-0.000166609624290187), of_all_previous = c(-0.000570973882726524,
-0.000771377162183913)), row.names = c(NA, -2L), class = "data.frame")
Я хотел бы свернуть две строки в соответствии с num
и ranking
, так как они одинаковые, но меняются code
в соответствии с условиями, в которых значения двух строк для столбцов bottom
, previous
и of_all_previous
должны сравниваться последовательно (то есть: если они равны, переходите к следующему столбцу, как в bottom
-> previous
-> of_all_previous
) и выберите code
, значение которого выше.
В случае предоставленных данных выборки, code
b
, поскольку -0.0065199761532749503 > -0.0153795976572656777
в столбце bottom
.
Если бы они были равны, тогда нужно было бы посмотреть previous
столбцы.
Я думаю, что, возможно, dplyr
может использовать %>%
, чтобы свернуть строки, но я не могу найти, как изменить строки одновременно в соответствии с условиями.
Я ожидаю, что результат будет выглядеть примерно так:
num code ranking
1 12 a 2414
Заранее спасибо.