如何将R中的数据帧按多列排序?
我们可以使用order函数按多个列对数据框进行排序。
示例
请看以下数据帧-
> df <- data.frame(x1 = factor(c("Hi", "Med", "Hi", "Low"),
levels = c("Low", "Med", "Hi"), ordered = TRUE),
x2 = c("A", "B", "D", "C"), x3 = c(4, 7, 5, 3),
x4 = c(9, 5, 7, 4))
> df
x1 x2 x3 x4
1 Hi A 4 9
2 Med B 7 5
3 Hi D 5 7
4 Low C 3 4假设我们要按x4列的降序排序,然后按x1列的升序排序数据帧。
可以完成-
> df[with(df, order(-x4, x1)), ] x1 x2 x3 x4 1 Hi A 4 9 3 Hi D 5 7 2 Med B 7 5 4 Low C 3 4
我们也可以通过使用列索引来做到这一点-
> df[order(-df[,4], df[,1]), ] x1 x2 x3 x4 1 Hi A 4 9 3 Hi D 5 7 2 Med B 7 5 4 Low C 3 4
热门推荐
10 外孙过周岁祝福语简短
11 儿子榴莲蛋糕祝福语简短
12 老师周末祝福语简短英语
13 车队生日条幅祝福语简短
14 上学粤语祝福语大全简短
15 宝宝老公生日祝福语简短
16 有关诗词的祝福语简短
17 画室期末祝福语大全简短
18 同学姑娘新婚祝福语简短