Застрял в том, что я считаю очень простым решением, но каким-то образом я не могу найти способ.
Я пытаюсь dplyr::arrange
значения в dataframe
. Дело в том, что я хочу применить функцию к группам, используя dplyr::group_by
, и решить, находится ли она в порядке возрастания или убывания, основываясь на переменной внутри.
Простой пример:
library(dplyr)
test <-
data.frame(
var1 = c(rep(1,5), rep(2,5)),
var2 = c(1,3,2,5,9,7,8,3,5,9),
var3 = c(rep("i", 5), rep("d", 5))
)
Здесь я пытаюсь упорядочить по групповой переменной var1
, но все в порядке возрастания:
test %>%
group_by(var1) %>%
arrange(var2, .by_group = T)
Цель состоит в том, чтобы автоматизировать аранжировку на основе значений var3
. Более конкретно, в порядке возрастания, если var3
равен «i», и в порядке убывания, если это «d», но внутри групп.
Желаемый результат:
data.frame(
var1 = c(rep(1,5), rep(2,5)),
var2 = c(1,2,3,5,9,9,8,7,5,3),
var3 = c(rep("i", 5), rep("d", 5)))