您的位置:首页 > 其它

【R语言学习笔记】若干排序问题

2017-04-26 14:58 211 查看
在处理数据的时候,经常遇到关于数字和因子排序的问题,下面分享几个排序的函数。

Order函数是简单的一个排序函数,先看第一种很简单的情况

先看一个数据集

a<-data.frame(a=c(1:5),b=as.factor(c(1,0,1,1,0)),c=c(15:11))


a b  c
1 1 1 15
2 2 0 14
3 3 1 13
4 4 1 12
5 5 0 11


如果新加一列,把原本的C按照a来升序,那么:

a$d1<-a$c[order(a$b,decreasing=F)]


a b  c d1
1 1 1 15 15
2 2 0 14 14
3 3 1 13 13
4 4 1 12 12
5 5 0 11 11


如果按照c排降序

a$d2<-a$c[order(a$a,decreasing=T)]


a b  c d1 d2
1 1 1 15 11 11
2 2 0 14 12 12
3 3 1 13 13 13
4 4 1 12 14 14
5 5 0 11 15 15


如果按照因子排序,则

a$d3<-a$c[order(a$b,decreasing=F)]


a b  c d2 d3
1 1 1 15 11 14
2 2 0 14 12 11
3 3 1 13 13 15
4 4 1 12 14 13
5 5 0 11 15 12


可以看到,b列的因子是0和1,所以就是按照0,1 排序

下面如果按照两个因子排序的话,先按照前面一个排序,然后按照后面的排序,如

a$d4<-a$c[order(a$b,a$c,decreasing=F)]


a b  c d2 d3 d4
1 1 1 15 11 14 11
2 2 0 14 12 11 14
3 3 1 13 13 15 12
4 4 1 12 14 13 13
5 5 0 11 15 12 15
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  r语言