栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > R语言

R语言排序及筛选函数

R语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

R语言排序及筛选函数

一、单变量序列排序

1、rank()函数:返回向量中每个元素对应的秩

2、sort()函数:对向量从小到大排序

data <- c(5,6,8,2,9,3)
sort(data)                 # 2 3 5 6 8 9
sort(data, decreasing = T) #设置降序排列, 9 8 6 5 3 2

3、order()函数:返回元素对应的位置,默认升序

###向量排序
data <- c(5,6,8,2,9,3)
order(data)       # 4 6 1 2 3 5
data[order(data)] #索引位置对应的元素值,等同于sort(data)排序

###数据框排序
d <- data.frame(
  x=c(13,45,13,45,13),
  y=c(3,1,2,2,3),
  t=c(56,7,68,3,1))

d[order(d$x,d$y),]     #x升序 y升序
  x y  t
3 13 2 68
1 13 3 56
5 13 3  1
2 45 1  7
4 45 2  3

d[order(-d$x,d$y),]    #x降序 y升序
  x y  t
2 45 1  7
4 45 2  3
3 13 2 68
1 13 3 56
5 13 3  1

二、数据表(矩阵)排序

1、order()函数

2、arrange()函数:针对数据框,返回基于某列排序后的数据框,方便多重排序,默认升序

d <- data.frame(
  x=c(13,45,13,45,13),
  y=c(3,1,2,2,3),
  t=c(56,7,68,3,1))

arrange(d,x,-y)     #x升序 y降下序
   x y  t
1 13 3 56
2 13 3  1
3 13 2 68
4 45 2  3
5 45 1  7

 三、因子类型排序

1、relevel函数

2、factor函数

 3、order函数

四、筛选函数

1、which函数

d <- data.frame(
  x=c(13,45,13,45,13),
  y=c(3,1,2,2,3),
  t=c(56,7,68,3,1))

d[which(d$x==13), ]                 #返回x列是13的行
   x y  t
1 13 3 56
3 13 2 68
5 13 3  1

d[which(d$x %in% c('45', '80')), ]  #返回x列中在c向量集中的行
   x y t
2 45 1 7
4 45 2 3

2、filter函数:仅用于数据框

##逻辑运算符
x==y,x>y,x>=y,x 

3、select()函数:仅用于数据框

4、subset()函数::用于所有数据集

d <- data.frame(
  x=c(13,45,13,45,13),
  y=c(3,1,2,2,3),
  t=c(56,7,68,3,1))

subset(d,   #数据集
x="13"| y="2"  #筛选条件
select=t       #需要显示的列
)
   t
1 56
3 68
4  3
5  1

5、top_n()函数

d <- data.frame(
  x=c(13,45,13,45,13),
  y=c(3,1,2,2,3),
  t=c(56,7,68,3,1))

top_n(d,n = 2, wt =  x)
   x y t
1 45 1 7
2 45 2 3
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/855715.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号