全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
10497 11
2015-08-07
有个4*52的零矩阵A,有个矩阵b=【3,1;23,50;42,2;10,11】,维度4*2. 现想把A矩阵中第一行的第3个和第1个元素修改为1,第二行的第23和第50个元素修改为1,依次类推。。。。。也就是矩阵A中的每行,以矩阵b中每行元素为对应位置,将其修改为1. 如果用循环,能够写出来,但是程序太大,想避免循环,请教大神如何不用循环,一步实现上述过程?在此先谢谢了。
二维码

扫码加我 拉你入群

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

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

全部回复
2015-8-7 21:28:08
ding yi xia tiezi
二维码

扫码加我 拉你入群

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

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

2015-8-8 17:42:55
复制代码


二维码

扫码加我 拉你入群

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

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

2015-8-8 23:34:14
十里春风 发表于 2015-8-8 17:42
第二种方法降一维index很巧妙,赞;第一种temp后面是不是还有其他code?只是中间结果吧
二维码

扫码加我 拉你入群

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

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

2015-8-9 10:01:00
rosenbloog 发表于 2015-8-8 23:34
第二种方法降一维index很巧妙,赞;第一种temp后面是不是还有其他code?只是中间结果吧
用sapply来对A元素进行修改,修改只是中间过程,temp是sapply输出的结果,不过这个结果并不是我们需要的。
二维码

扫码加我 拉你入群

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

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

2015-8-10 14:06:42
十里春风 发表于 2015-8-8 17:42
厉害,方法非常巧妙。非常感谢。不过,两个程序都没有看懂,请再细细指教一下。第一个程序,function(i) A[i,b[i,]]<<-1, 特别是这个<<-,期初我以为你打错了,应该是<-,我用了<-运行完之后居然没有任何变化,又用了<<-,果然实现了,请问这两个赋值号之间的区别是什么?如何使用?
第二个程序,这里A[t(b)]<-1为什么要给b转置,我尝试了不转置b,显示错误,下表出界。A[]这个括号内,如果是个矩阵,它是怎么引用的?为什么不转置会出界?
谢谢了,我是菜鸟一个,希望指点一下。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

分享

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