全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2001 4
2009-07-22
请教高手,怎样用R写个通用函数来求矩阵中的最大值以及最大值所在的位置?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-7-23 14:53:53
我也是初学者,函数写的可能很逊,但应该能解决你的问题了
matrixmax=function(x){
  n=nrow(x);m=ncol(x)
  x=t(x)
  x=as.vector(x)
  maxx=max(x)
  whichmax=which(x==max(x))
  wm=length(whichmax)
  n1=whichmax/m;m1=whichmax%%m
  for(k in 1:wm){
    if(!is.integer(n1)) n1=ceiling(n1)
    if(is.integer(n1)) n1=n1
  }
  for(i in 1:wm){
    if(m1[i]==0)m1[i]=m
    if(m1[i]!=0) m1[i]=m1[i]
  }
list(最大值=maxx,最大值位置=cbind(n1,m1))
}
例子:
> matrixmax(matrix(c(1,4,3,2,8,4,8,6,7,3,4,7),3,4))
$最大值
[1] 8

$最大值位置
     n1 m1
[1,]     1     3
[2,]     2     2
解释:矩阵最大值为8,位置在1行3列跟2行2列
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-7-24 13:15:02
非常感谢!!,我是菜鸟了,以后请我指教了,能不能留个联系方式啊?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-7-24 13:15:39
以后请多指教了!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-7-24 20:50:13
哈哈,我也是菜鸟,我就学了一个多月吧……我的空间有联系方式~ 3# longguojun114
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群