R语言-找出向量或矩阵中的最大10个数
2015-08-27 00:56
881 查看
一、向量
最大10的数的索引(位置),可先按降序排序,得到索引号,然后将前10个取出即可。建议方法:
order(x,decreasing=TRUE)[1:10]
过程详解:
1、测试数据x
> x
[1] 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.09 0.20 0.09 0.08 0.14 0.14 0.23
[15] 0.08 0.06 0.12 0.20 0.14 0.11 0.20 0.14 0.17 0.15 0.18 0.15 0.20 0.12
[29] 0.23 0.08 0.12 0.08 0.23 0.12 0.08 0.17 0.18 0.17 0.12 0.17 0.14 0.18
[43] 0.11 0.27 0.06
2、按降序排序
> order(x,decreasing=TRUE)
[1] 44 14 29 33 9 18 21 27 25 37 42 23 36 38 40 24 26 12 13 19 22 41 17 28
[25] 31 34 39 20 43 8 10 11 15 30 32 35 7 16 45 1 2 3 4 5 6
>
3、这里就能取出最大10个数的索引了
> order(x,decreasing=TRUE)[1:10]
[1] 44 14 29 33 9 18 21 27 25 37
4、可以看一下,这取出的10个数的索引是不是指向最大的十个数。
> x[order(x,decreasing=TRUE)[1:10]]
[1] 0.27 0.23 0.23 0.23 0.20 0.20 0.20 0.20 0.18 0.18
二、矩阵
首先设定有矩阵y,9行5列,求最大的10个数的索引。> y
[,1] [,2] [,3] [,4] [,5]
[1,] 0.00 0.09 0.14 0.12 0.18
[2,] 0.00 0.08 0.11 0.23 0.17
[3,] 0.00 0.14 0.20 0.08 0.12
[4,] 0.00 0.14 0.14 0.12 0.17
[5,] 0.00 0.23 0.17 0.08 0.14
[6,] 0.00 0.08 0.15 0.23 0.18
[7,] 0.06 0.06 0.18 0.12 0.11
[8,] 0.09 0.12 0.15 0.08 0.27
[9,] 0.20 0.20 0.20 0.17 0.06
解答方法:
1、使用sore.list()进行排序
> arrayInd(sort.list(y,decreasing=T)[1:10],dim(y))[,1] [,2]
[1,] 8 5
[2,] 5 2
[3,] 2 4
[4,] 6 4
[5,] 9 1
[6,] 9 2
[7,] 3 3
[8,] 9 3
[9,] 7 3
[10,] 1 5
2、使用order()函数进行排序
错误的方法:> arrayInd(which(order(y, decreasing = TRUE) <= 10), dim(y))
[,1] [,2]
[1,] 5 1
[2,] 3 4
[3,] 4 4
[4,] 1 5
[5,] 4 5
[6,] 5 5
[7,] 6 5
[8,] 7 5
[9,] 8 5
[10,] 9 5
which(order(y, decreasing = TRUE) <= 10)含义是先将数据进行排序,然后取索引小于等于10的,最大的10个数在排完序后,索引不应是<=10,而是排在前10位的就是最大的10个数的索引。
正确的方法:
> arrayInd(order(y,decreasing=TRUE)[1:10],dim(y))
[,1] [,2]
[1,] 8 5
[2,] 5 2
[3,] 2 4
[4,] 6 4
[5,] 9 1
[6,] 9 2
[7,] 3 3
[8,] 9 3
[9,] 7 3
[10,] 1 5
相关文章推荐
- front-end
- playframework 一步一步来 之get started
- c递归实现 汉诺塔
- VS2010下多线程的调试
- iOS部分-UI基础控件 - 01天 入门 第08课 创建应用程序中的一些细节
- Leetcode: Add Binary
- thinkinginjava学习笔记04_初始化与清理
- 有符号数据的表示
- JSF : Page Forward vs Page Redirect
- PWM输入模式捕捉4路PWM波形的周期和占空比讲解
- 表单提交:button input submit 的区别
- iOS部分-UI基础控件 - 01天 入门 第07课 私有扩展&IBAction
- 欢迎使用CSDN-markdown编辑器
- iOS部分-UI基础控件 - 01天 入门 第06课 gif的简单实用
- 驱动主要数据结构
- 发现凌晨醒来,可以写出平时写不出来的代码
- iOS部分-UI基础控件 - 01天 入门 第05课 关闭键盘
- 20150827_tomcat架构_Server.xml详解
- HorizontalScrollView 的使用
- javaScript月份从零算起