R语言数据的排序和合并
leadership借用前一章的:
> leadership
managerID testDate country gender age item1 item2 item3 item4 item5
1 1 10/14/08 us M 32 5 4 5 5 5
2 2 10/28/08 us F 45 3 5 2 5 5
3 3 10/1/18 uk F 25 3 5 5 5 2
4 4 10/12/08 uk M 39 3 3 4 NA NA
5 5 5/1/09 uk F 99 2 2 1 2 1
>#按照年龄来排序(升序)
>#有缺失值的一定是放在最后面
> newData<-leadership[order(leadership$age),]
> newData
managerID testDate country gender age item1 item2 item3 item4 item5
3 3 10/1/18 uk F 25 3 5 5 5 2
1 1 10/14/08 us M 32 5 4 5 5 5
4 4 10/12/08 uk M 39 3 3 4 NA NA
2 2 10/28/08 us F 45 3 5 2 5 5
5 5 5/1/09 uk F 99 2 2 1 2 1
> leadership$age[leadership$age==99]<-NA
> leadership
managerID testDate country gender age item1 item2 item3 item4 item5
1 1 10/14/08 us M 32 5 4 5 5 5
2 2 10/28/08 us F 45 3 5 2 5 5
3 3 10/1/18 uk F 25 3 5 5 5 2
4 4 10/12/08 uk M 39 3 3 4 NA NA
5 5 5/1/09 uk F NA 2 2 1 2 1
> newData<-leadership[order(leadership$age),]
> newData
managerID testDate country gender age item1 item2 item3 item4 item5
3 3 10/1/18 uk F 25 3 5 5 5 2
1 1 10/14/08 us M 32 5 4 5 5 5
4 4 10/12/08 uk M 39 3 3 4 NA NA
2 2 10/28/08 us F 45 3 5 2 5 5
5 5 5/1/09 uk F NA 2 2 1 2 1
>#按照性别和年龄进行排序,因为性别写在前面所以先安性别排序,之后性别相同的按年龄在排序
> newData<-leadership[order(gender,age),]
> newData
managerID testDate country gender age item1 item2 item3 item4 item5
3 3 10/1/18 uk F 25 3 5 5 5 2
2 2 10/28/08 us F 45 3 5 2 5 5
5 5 5/1/09 uk F NA 2 2 1 2 1
1 1 10/14/08 us M 32 5 4 5 5 5
4 4 10/12/08 uk M 39 3 3 4 NA NA
> #对性别按升序排列,按年龄降序排列
> newData<-leadership[order(gender,-age),]
> newData
managerID testDate country gender age item1 item2 item3 item4 item5
5 5 5/1/09 uk F NA 2 2 1 2 1
2 2 10/28/08 us F 45 3 5 2 5 5
3 3 10/1/18 uk F 25 3 5 5 5 2
4 4 10/12/08 uk M 39 3 3 4 NA NA
1 1 10/14/08 us M 32 5 4 5 5 5
数据集的合并
合并函数是rbind()函数
例:两个数据框的合并实例
#先读入数据
> stamp1Z<-"C:\\Users\\Administrator\\Desktop\\test1.csv"
> stamp1<-read.csv(stamp1Z,sep = ",")
> stamp1
编号 姓名 年龄
1 1 anne 12
2 2 qiqi 14
3 3 jiajia 16
4 4 nana 23
5 5 maomao 21
6 6 lima 22
7 7 mama 34
> stamp2Z<-"C:\\Users\\Administrator\\Desktop\\test2.csv"
> stamp2<-read.csv(stamp2Z,sep = ",")
> stamp2
编号 姓名 年龄
1 11 anne 12
2 12 qiqi 14
3 13 jiajia 16
4 14 nana 23
5 15 maomao 21
6 16 lima 22
7 17 mama 34
> stampz<-rbind(stamp1,stamp2) #用rbind()将stamp1和stamp2绑定在一起
> stampz
编号 姓名 年龄
1 1 anne 12
2 2 qiqi 14
3 3 jiajia 16
4 4 nana 23
5 5 maomao 21
6 6 lima 22
7 7 mama 34
8 11 anne 12
9 12 qiqi 14
10 13 jiajia 16
11 14 nana 23
12 15 maomao 21
13 16 lima 22
14 17 mama 34