使用dplyr
中的arrange
函数,我们可以按升序或降序排列行。想知道如何按自定义顺序排列行,请参见MWE。
Reg <- rep(LETTERS[1:3], each = 2)
Res <- rep(c("Urban", "Rural"), times = 3)
set.seed(12345)
Pop <- rpois(n = 6, lambda = 500000)
df <- data.frame(Reg, Res, Pop)
df
Reg Res Pop
1 A Urban 500414
2 A Rural 500501
3 B Urban 499922
4 B Rural 500016
5 C Urban 501638
6 C Rural 499274
df %>%
arrange()
期望输出
Reg Res Pop
5 C Urban 501638
6 C Rural 499274
1 A Urban 500414
2 A Rural 500501
3 B Urban 499922
4 B Rural 500016
df %>% arrange(factor(Reg, levels = LETTERS[c(3,1,2)]))
。 - user8248672arrange
之外已经定义为有序因子,那么arrange
的行为仍然是按字母顺序排序...怎么会这样? - Fons MA