![1a555bca754db1e33b20d04e76b289be.png](https://img-blog.csdnimg.cn/img_convert/1a555bca754db1e33b20d04e76b289be.png)
===================
= 个人练习R语言的笔记 =
= 跟我一起来 Coding⑧! =
===================
0005-向量-向量的排序
1. sort()函数
- sort(x, decreasing = FALSE, na.last = NA, index.return = FALSE,…)
- x为要排序的对象
- decreasing为排序顺序,是否为降序,默认为FALSE,即降序=否,即升序排列
- na.last是对NA值的处理,若为TRUE,则NA值将放在最后,若为FALSE,NA值将放在最前面,若为NA,则排序时剔除掉NA值
- index.return是个逻辑值,设置是否显示排序序列对应的元素值在未排序前序列中的对应位置索引,默认为FALSE
vc <- c(10,NA,9,8,8,13,10,10,10,12)
vc
## [1] 10 NA 9 8 8 13 10 10 10 12
sort(vc)
## [1] 8 8 9 10 10 10 10 12 13
vc
## [1] 10 NA 9 8 8 13 10 10 10 12
sort(vc, decreasing = TRUE)
## [1] 13 12 10 10 10 10 9 8 8
vc
## [1] 10 NA 9 8 8 13 10 10 10 12
sort(vc, na.last = NA)
## [1] 8 8 9 10 10 10 10 12 13
sort(vc, na.last = FALSE)
## [1] NA 8 8 9 10 10 10 10 12 13
sort(vc, na.last = TRUE)
## [1] 8 8 9 10 10 10 10 12 13 NA
a <- c(34,234,3,1)
a
## [1] 34 234 3 1
sort(a)
## [1] 1 3 34 234
sort(a, index.return = FALSE)
## [1] 1 3 34 234
sort(a, index.return = TRUE) # 返回排序后当前元素在原来向量中的位置index
## [1] 4 3 1 2
2. order()函数与rank()函数
- order()
- 返回升序排序结果的值,在原有向量中的位置
- 按照升序排序,当前位置的值来源于原始向量中哪个位置上的元素
a <- c(34,234,3,1)
a
## [1] 34 234 3 1
order(a)
## [1] 4 3 1 2
- rank()
- 返回的是向量中每个数值对应的秩
- 或者说返回升序排序,排序前元素在排序后向量的位置index
a
## [1] 34 234 3 1
rank(a)
## [1] 3 4 2 1
3. rev()函数
- rev()
- 将向量倒序
vc
## [1] 10 NA 9 8 8 13 10 10 10 12
rev(vc)
## [1] 12 10 10 10 13 8 8 9 NA 10
sort(vc)
## [1] 8 8 9 10 10 10 10 12 13
rev(sort(vc))
## [1] 13 12 10 10 10 10 9 8 8