如何按 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))
我想知道如何在 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))