美文网首页
R语言杂谈(四)--排序

R语言杂谈(四)--排序

作者: 爱思考的照 | 来源:发表于2019-11-27 20:53 被阅读0次

排序 

sort() #默认是从小到大排序

sort(a,decreasing=T)#从大到小排序

举个例子,cat<-c(6 53 16 29 24 78 19 72 65)

sort(cat)为(6 16 19 24 29 53 65 72 78)

sort(cat, decreasing=T)为(78 72 65 53 29 24 19 16  6)

order也是排序但返回的是按从小到大排完后每个数在原来序列中的位置

order(cat)为(1 3 7 5 4 2 9 8 6)

cat[order(cat)] 返回的是sort(cat)

可以通过逻辑值获得我们所需要的队列:cat[cat==78]返回的就是78

which可以获得所在的位置:which(cat==78)返回的是6

还能怎么获取位置呢?

举个例子,我们设定d <- c("TP53","ERBB2","BRCA1")

## grep表示抓取,返回的是数字

grep("ERBB2",d) 返回的是 2 

## grepl,表示grep+logical,返回的是逻辑值

grepl("ERBB2",d) 返回的是FALSE,TRUE,FALSE

## 使用逻辑值获取子集

d[grepl("ERBB2",d)] 返回的是 "ERBB2"

# 此时跟 %in% 的用法一样,A %in% B 表示A是否存在于B,返回的是逻辑

"ERBB2" %in% d 返回的是TRUE

d %in% "ERBB2" 返回的是FALSE TRUE FLASE

d[d %in% "ERBB2"] 返回的是"ERBB2"

## 取交集intersect(x,y) 很常用

d <- c("TP53","ERBB2","BRCA1")

e <- c("ERBB2","BRCA1","TP54")

intersect(d,e) 返回的是 "ERBB2" "BRCA1"

## 再试试%in%,操作逻辑是判断d中的每一个元素是否存在于e

d %in% e 返回的是 FALSE TRUE TRUE

d[d %in% e] 返回的是 "ERBB2" "BRCA1"

相关文章

  • R语言杂谈(四)--排序

    排序 sort() #默认是从小到大排序 sort(a,decreasing=T)#从大到小排序 举个例子,cat...

  • R语言-排序

  • R programming - WEEK4

    参考文献 R语言实例-数据过滤grep正则表达式R 语言中,数据框依据不同列进行排序R语言rank函数详细解析R语...

  • R语言-0基础学习4-实战1-常见操作

    R语言学习系列R语言-0基础学习1-数据结构R语言-0基础学习2-构建子集R语言-0基础学习3-循环排序信息处理函...

  • R语言杂谈(一)

    首先,你需要一个Rstudio,其次每一个项目需要一个文件夹以方便自己且路径中不要出现中文和空格,如果需要请用下划...

  • R语言杂谈(二)

    1.向量中的元素获取 [,[[,$ 1.1靠位置来获取元素 x<-seq(8,12) #产生8,9,10,11,1...

  • R语言杂谈(三)

    1.条件控制 if if (condition) { do sth } else { do sth differe...

  • R语言基础之第四部分 排序

    R语言基础之第四部分 排序 sort:对向量进行排序,返回排好序的内容order: 返回排好序的内容的下标 / 多...

  • R语言 排序问题

    解决R语言排序问题的方法: order from basearrange from dplyrsetorder a...

  • R语言排序函数

    sort()是对向量进行从小到大的排序rank()返回的是对向量中每个数值对应的秩order()返回的值表示位置,...

网友评论

      本文标题:R语言杂谈(四)--排序

      本文链接:https://www.haomeiwen.com/subject/xxsmwctx.html