经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
数据科学与人工智能
›
数据分析与数据科学
›
R语言论坛
在R中,如何知道矩阵中最大值所在行列?
楼主
peijianshi
55252
16
收藏
2012-04-17
在R中,有一个矩阵,能够求出其最值,现在想要知道这个最值所在的行列?如何求得?
谢谢!
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
kk22boy
2012-4-17 21:53:01
a=matrix(rnorm(12,3,4),4,3)
which(a==a[which.max(a)],arr.ind=T)
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
藤椅
吉林小王子
2012-4-17 23:13:50
a=matrix(rnorm(12,3,4),4,3)
which(a==max(a),arr.ind=T)
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
板凳
peijianshi
2012-4-18 10:25:48
哈哈,感谢诸位和版主的帮助!谢谢!
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
报纸
peijianshi
2012-4-18 10:43:05
请允许我再追加一个小问题:
如果求矩阵中最大前十个数所在的位置如何求出?嘿嘿
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
地板
kk22boy
2012-4-18 20:37:28
呵呵,试了一下,不知道这样行不行,就是有点麻烦
a=matrix(rnorm(20),4,5)
r=matrix(0,10,2)
for (i in 1:10){
r[i,]=which(a==a[order(-a)]
,arr.ind=T)
}
r返回前十个最大数所在的行列
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
点击查看更多内容…
7楼
kk22boy
2012-4-18 20:51:54
呵呵,再改进改进,写了函数n.max(a,b),用来求矩阵a中由大到小前b个数所在的位置,默认为前10个
复制代码
我也是刚学,不对的地方多指教,呵呵
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
8楼
吉林小王子
2012-4-18 20:53:23
x=matrix(as.integer(rnorm(100)*100),10,10);x
y=sort(x,decreasing=T)[1:10];y
index=numeric(20)
i=1
for(j in 1:10)
{
index
=which(x==y[j],arr.ind=T)[1]
index[i+1]=which(x==y[j],arr.ind=T)[2]
i=i+2
}
index
matrix(index,10,2)
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
9楼
较拉峭
2012-4-18 21:02:48
楼上都是高手,学习了!
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
10楼
kk22boy
2012-4-18 21:21:53
> a=matrix(rnorm(12)*10,3,4)
> a
[,1] [,2] [,3] [,4]
[1,] 0.8269864 -2.122009 -25.4466095 10.469310
[2,] 1.6814683 -8.524294 5.3625801 -5.064049
[3,] 8.0554673 -12.966748 0.2346567 6.479620
> n.max(a,9)
[,1] [,2]
[1,] 1 4
[2,] 3 1
[3,] 3 4
[4,] 2 3
[5,] 2 1
[6,] 1 1
[7,] 3 3
[8,] 1 2
[9,] 2 4
不过有个问题是,如果产生的数据有两个或者多于两个数据大小相同的时候,这个函数就会出现错误
所以前提是所使用的矩阵里边没有重复数据
呵呵,谁再帮忙改改吧
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
11楼
qoiqpwqr
2012-4-18 21:24:43
peijianshi 发表于 2012-4-18 10:43
请允许我再追加一个小问题:
如果求矩阵中最大前十个数所在的位置如何求出?嘿嘿
可以先把所有的数字排序,找出前十个最大的位置,然后再变换一下。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
12楼
kk22boy
2012-4-18 21:29:45
n.max函数中间有个地方错了
r[i,]=which(a==a[order(-a)]
【i】
,arr.ind=T)
好奇怪,为什么会显示不全呢
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
13楼
qoiqpwqr
2012-4-18 21:53:55
这样就不用循环了。
x <- matrix(sample(1:20), 5, 4)
top10 <- order(x, decreasing = TRUE)[1:10]
n1 <- nrow(x)
out <- cbind(row = (top10 - 1) %% n1 + 1, col = ((top10 -1) %/% n1) + 1)
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
14楼
mengqinqing
2012-4-18 22:00:33
学习中。。。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
15楼
peijianshi
2012-4-20 14:16:07
Thanks a lot!
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
16楼
Little_Dan
2015-2-10 16:46:51
perfect, zan
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
17楼
待琢璞玉
2016-12-24 11:32:45
您好,请问并列最大值问题如何解决
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
相关推荐
企业短期内亏损的最大值是?[求助]
如何找到一个数组中最大值对应的下标
[求助]sas一个取最大值的问题{急!}
求解多维约束下下模函数最大值的改进贪婪算法
如何求解最大值
最大值原理解非0和博弈
一个最值问题
4年的数据怎么获得最大值减去最小值
取一列中的最大值
如何得到每个个体的最大值
栏目导航
R语言论坛
经管文库(原现金交易版)
世界经济与国际贸易
创新与战略管理
经管高考
商学院
热门文章
CDA 数据分析师:统计制图实战指南 —— 让 ...
视频媒体:AI漫剧爆发在即,重视产业链机遇
量子科技行业深度报告:量子革命:量子科技 ...
这简单的几句话,完成了对传统和现代经济学 ...
2025年度国产AI芯片产业白皮书
【中泰证券】传媒行业:短剧扬帆出海 AI赋能 ...
【shulex】2025年3D打印机出海趋势与营销洞 ...
数生万物,转型之本:数据资产运营白皮书-毕 ...
十四五能源发展成就报告
2025 生成式人工智能应用发展报告
推荐文章
AI狂潮席卷学术圈,不会编程也能打造专属智 ...
10月重磅来袭|《打造Coze/Dify专属学术智能 ...
最快1年拿证,学费不足5W!热门美国人工智能 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群