R语言-数据排序
R語言中對數(shù)據(jù)框或類似數(shù)據(jù)表的排序。
實驗過程:
1、創(chuàng)建一個數(shù)據(jù)框
> a
[1] 2 9 5 6 7 3 1 4
> b<-c('a','d','e','f','g','h','i','k')
> d<-data.frame(a,b,stringsAsFactors = FALSE) #這里不需要把串當成因子
? a b
1 2 a
2 9 d
3 5 e
4 6 f
5 7 g
6 3 h
7 1 i
8 4 k
> str(d)
'data.frame':?? 8 obs. of? 2 variables:
?$ a: num? 2 9 5 6 7 3 1 4
?$ b: chr? "a" "d" "e" "f" ...
2、對a列進行排序
>e<-d[order(d[,1]),]
>e
> e
? a b
7 1 i
1 2 a
6 3 h
8 4 k
3 5 e
4 6 f
5 7 g
2 9 d
3、對b列進行排序
> e<-d[order(d[,2]),]
> e
? a b
1 2 a
2 9 d
3 5 e
4 6 f
5 7 g
6 3 h
7 1 i
8 4 k
4、其他操作
(1)增加自然序號
> e$no<-1:length(d$a)
> e
? a b no
7 1 i? 1
1 2 a? 2
6 3 h? 3
8 4 k? 4
3 5 e? 5
4 6 f? 6
5 7 g? 7
2 9 d? 8
注意:這里使用1:length(d$a),而不用1:length(d),length(d)等于d的維數(shù),即在這里為2。
(2)增加數(shù)據(jù)索引號
>no<-order(d[,1])
> e<-d[no,]
>e$no<-no
總結
- 上一篇: Split Pairs
- 下一篇: 滤波电容的滤波半径