找回密码
 注册
查看: 2162|回复: 2

请教:关于矩阵的操作

[复制链接]
发表于 2012-4-22 21:26:00 | 显示全部楼层 |阅读模式
   现产生了一个含有0,1两个元素的矩阵,应该怎样得到元素为1的下标呢? 最好能够显示为(2,3) ,(5,4)这样的形式 产生了这些坐标以后怎样调用它们的横坐标和纵坐标做后续的分析?  谢谢!
回复

使用道具 举报

发表于 2012-4-30 01:25:41 | 显示全部楼层
用for 循环吧
可以定义一矩阵,例:b[i,j],i用来标识坐标的Id ,j可定义大小为3,第一列为标识所含元素为0、1,第二列标识横坐标,第三列标识纵坐标
for(i: i in 1:矩阵横坐标长度){
   for(j:1 to 纵坐标长度){
if(a[i,j]==1){
   b[i,0]=1;
    b[i,1]=i;
    b[i,3]=j;
}
else
   b[i,0]=0;
   b[i,1]=i;
   b[i,2]=j;
}
}
}
然后循环查看矩阵b中的元素,为1,则显示b矩阵中b[,1],b[,2]的内容,不知道这样可行,你可以看看。
               
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-1 15:34:38 | 显示全部楼层
学到东西了,谢谢!用which(,arr.ind=T)也可以返回元素的下标
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-22 13:04 , Processed in 0.025726 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表