首页
学习
活动
专区
圈层
工具
发布

R中按照数字大小进行排序

在R中有时会需要通过数字大小对某些数据进行排序。 不过R默认是按照字符大小顺序进行排序,如常见的OTU名称: OTU1,OTU2,OTU3,OTU10 ,OTU20......会被默认排序为: OTU1,OTU10,OTU2,OTU20,OTU3... 这在一些数据处理和画图过程非常不方便。...如果要按照数字排序为OTU1,OTU2,OTU10这种,可以有很多方法,本文举几种简单的例子: ---- 先读进一个OTU表~ otu = read.table(file = "otu.txt",sep...,header=T,check.names=F) # 行名为OTU的名字 name = rownames(OTU) 1. gtools包的mixedorder函数,一步到位直接对OTU名字中的数字排序...OTU名字去掉OTU只保留数字再排序: c = order(as.numeric(gsub("OTU","",name))) otu2 = otu[c,] 4.OTU名字中的OTU和数字分开,单独对数字排序

3.1K51
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java对象集合按照指定元素顺序排序

    需求背景 最近在对一个集合列表的数据进行排序,需求是要集合数据按照一个排序状态值进行排序,而这个状态值,不是按照从小到大这样的顺序排序的,而是要按照特定的顺序,比如按照1, 0, 2的顺序排的,所以需要自定义一个排序工具类来实现...解决方案 写一个排序工具类 package cn.nzp.ems.ecb.server.business.screen; import java.io.Serializable; import java.util.Comparator...; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; public...(i2 - i1) : i1 - i2; } } 测试一下排序 @Test public void testCompare() { List list = Lists.newArrayList...forEach(e -> { System.out.println(e.getName() +", " + e.getOrderNum()); }); } 跑一下测试结果 如果不想写一个排序工具类

    77010

    数据处理小技能(一)按照某一列取值大小对dataframe排序

    马拉松Day3的课程提了一个课后小作业,按照某列取值大小对数据框排序 这个是很常用的数据处理过程,在excel里只需要选择某列然后选择扩展区域就行,但是R中好像没有这个函数 之前每次都是用到现搜,但是别人的思路总是记不住的...,今天试着自己用这两天课程学到的写一个运算逻辑 #以iris数据为例,按照Sepal.Length数据从小到大排序 head(iris) # Sepal.Length Sepal.Width Petal.Length...names(x)=1:length(x) #这是Day3中讲到的小技巧,对向量中的每个元素命名,这里用来给数据增加标识符 x=sort(x) #默认decreasing=F,如果需要从大到小排序只需要修改这个参数即可

    68010
    领券