如何按 r 中特定分组变量级别的特定顺序排列数据行

How to arrange data rows in by specific order of a particular grouping variable level in r

我想知道如何在 r 中按特定分组变量级别的特定顺序排列数据行。

使用 mtcars 数据集,我想创建一个名为 mtcars_arrange 的数据框,其中行首先按 gear 值按以下顺序组织:

> # desired gear order
> gear_order <- c(4, 3, 5)
> gear_order
[1] 4 3 5

然后,我希望按特定 carb 值组织数据集:

> # desired carb order
> carb_order <- c(4, 1, 2, 3, 6, 8)
> carb_order
[1] 4 1 2 3 6 8

我知道您可以使用 dplyr::arrange() 命令来完成类似的任务,但我不确定如何才能让它发挥作用。

如有任何帮助,我们将不胜感激。谢谢。



这是与这个问题相关的一些废代码:

# dataset
mtcars

# unique values of gear variable
unique(mtcars$gear)

# unique values of carb variable
unique(mtcars$carb)

# desired gear order
gear_order <- c(4, 3, 5)

# desired carb order
carb_order <- c(4, 1, 2, 3, 6, 8)

我们可以转换为 factor,其中 levels 指定为在 arrange

中创建的矢量对象
library(dplyr)
mtcars1 <- mtcars %>% 
     arrange(factor(gear, levels = gear_order), 
            factor(carb, levels = carb_order))