我正在努力修改我的要素数据的顺序。以mtcar数据集为例,我使用以下代码将数据按“cyl”排序。
library(dplyr)
arrange (mtcars, cyl)这分别将数据排序为cyl=4、6、8,但如何将此顺序分别更改为4、8、6?我试过使用sort,使用c(4, 8, 6),但没有运气。一定有简单的解决办法。谢谢。
发布于 2019-06-04 01:55:22
一种选择是根据我们的偏好将cyl定义为带有levels的levels,然后使用arrange
library(dplyr)
mtcars %>%
mutate(cyl = factor(cyl, levels = c(4, 8, 6))) %>%
arrange(cyl)相同的使用基数R是
df <- transform(mtcars, cyl = factor(cyl, levels = c(4, 8, 6)))
df[order(df$cyl), ]或者另一种选择是使用match,然后使用order
mtcars[order(match(mtcars$cyl, c(4, 8, 6))), ]发布于 2019-06-04 03:04:04
使用data.table
library(data.table)
as.data.table(mtcars)[order(factor(cyl, levels = c(4, 8, 6)))]https://stackoverflow.com/questions/56436402
复制相似问题