沉闷科学的掘墓人分享 http://blog.sciencenet.cn/u/Bearjazz

博文

R语言中对表格和数组进行排序

已有 21564 次阅读 2012-8-13 10:57 |个人分类:我的研究|系统分类:科研笔记|关键词:学者| 表格, 排序, 向量, 数组

熊荣川

六盘水师范学院生物信息学实验室

xiongrongchuan@126.com

http://blog.sciencenet.cn/u/Bearjazz

 

对表格排序往往是许多数据分析过程必不可少的组成部分,我们习惯了在excel中完成这样的操作。其实R语言也可以对表格数据进行简单的排序,掌握这些有用的函数,在使用R语言进行数据分析时就不用在excelR平台之间来回的倒数据了。

 

以下是在R平台上的代码输入进运算结果。范例order.csv请见博文的附件,注意设置工作目录(你存放order.csv的位置)

 

> rm(list=ls()) #清空向量

> setwd("D:/ziliao/zhuanye/R bear/lab03")#设置工作目录

> y=read.csv("order.csv")

> y

   X       V1       V2         X.1          V5       V6

1   1 0.153979 3213.282 1000.000000 1000.000000 0.153979

2   2 0.163979 3215.253    0.010000          NA       NA

3   3 0.173979 3218.715    0.010000          NA       NA

4   4 0.183979 3219.471    0.010000          NA       NA

5   5 0.193979 3238.251    0.010000          NA       NA

6   6 0.203979 3269.727    0.010000          NA       NA

7   7 0.213979 3270.134    0.010000          NA       NA

8   8 0.223979 3279.202    0.010000          NA       NA

9   9 0.233979 3260.387    0.010000          NA       NA

10 10 0.828344 3266.762    0.594365        0.594365   0.828344

11 11 0.838344 3244.964    0.010000          NA       NA

12 12 0.848344 3247.315    0.010000          NA       NA

13 13 0.858344 3258.594    0.010000          NA       NA

14 14 0.868344 3266.271    0.010000          NA       NA

15 15 0.878344 3278.918    0.010000          NA       NA

16 16 0.888344 3273.031    0.010000          NA       NA

17 17 0.898344 3281.390    0.010000          NA       NA

18 18 0.908344 3290.748    0.010000          NA       NA

19 19 0.918344 3269.900    0.010000          NA       NA

20 20 1.586302 3259.754    0.667958       0.667958   1.586302

> x = y[,3]

> x

 [1] 3213.282 3215.253 3218.715 3219.471 3238.251 3269.727 3270.134 3279.202 3260.387 3266.762 3244.964 3247.315 3258.594 3266.271 3278.918 3273.031

[17] 3281.390 3290.748 3269.900 3259.754

> x = sort(x)  #对数组x进行排序#

> x

 [1] 3213.282 3215.253 3218.715 3219.471 3238.251 3244.964 3247.315 3258.594 3259.754 3260.387 3266.271 3266.762 3269.727 3269.900 3270.134 3273.031

[17] 3278.918 3279.202 3281.390 3290.748

 

> y[order(y[,3]),]  #以第三列为依据排序,其它列相应变动#

   X      V1       V2         X.1          V5       V6

1   1 0.153979 3213.282 1000.000000 1000.000000 0.153979

2   2 0.163979 3215.253    0.010000          NA       NA

3   3 0.173979 3218.715    0.010000          NA       NA

4   4 0.183979 3219.471    0.010000         NA       NA

5   5 0.193979 3238.251    0.010000          NA       NA

11 11 0.838344 3244.964    0.010000          NA       NA

12 12 0.848344 3247.315    0.010000          NA       NA

13 13 0.858344 3258.594    0.010000          NA       NA

20 20 1.586302 3259.754    0.667958    0.667958 1.586302

9   9 0.233979 3260.387    0.010000          NA       NA

14 14 0.868344 3266.271    0.010000          NA       NA

10 10 0.828344 3266.762    0.594365    0.594365 0.828344

6   6 0.203979 3269.727    0.010000          NA       NA

19 19 0.918344 3269.900    0.010000          NA       NA

7   7 0.213979 3270.134    0.010000          NA       NA

16 16 0.888344 3273.031    0.010000          NA       NA

15 15 0.878344 3278.918    0.010000          NA       NA

8   8 0.223979 3279.202    0.010000          NA       NA

17 17 0.898344 3281.390    0.010000          NA       NA

18 18 0.908344 3290.748    0.010000          NA       NA

 

如果对含有“NA”数组进行排序,排序完之后数组中就没有“NA”值了,你可以试试看。

就这么简单,祝您科研愉快!

附件:

order.csv



另外,如果对字符向量进行排序,使用sort()函数。



https://m.sciencenet.cn/blog-508298-601697.html

上一篇:怎样使用mrmodeltest帅选核苷酸替换模型
下一篇:R语言中矩阵表格合并运算

0

该博文允许注册用户评论 请点击登录 评论 (2 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-19 11:00

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部