全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5419 9
2015-04-11
有一个matrix和两个vector,比如:
matrix
    1  2  3  4  5  
1  4 -1 -2 -2  0
2 -1  5  0 -2 -3   
3 -2  0  6  1 -3
4 -2 -2  1  6 -3
5  0 -3 -3 -3  9


vector1:1 2 3 4 5 6
vector2:3 4 1 5 2 1

需要让两个vector一一对应取出矩阵的数字,即把matrix[1,3]、[2,4]、[3,1]……这样提出来,但是又不想用for或while这种循环,有什么简便点的方法么?

还有个问题,如果矩阵的header不是数字而是字母,vector也是字母不是数字,这种矩阵要怎么提取?

谢谢~
二维码

扫码加我 拉你入群

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

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

全部回复
2015-4-11 12:06:44
diag(matrix[vector1,vector2])
二维码

扫码加我 拉你入群

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

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

2015-4-11 12:24:05
你的vector1里面有数字已经越界了。还有你想得到的输出是一个向量么?若是,设你待提取的矩阵名为x, 两个向量为v1, v2 (必须要等长度),以下代码给出所要结果 (楼上的代码似乎有问题):
复制代码
二维码

扫码加我 拉你入群

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

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

2015-4-11 13:10:39
hugebear 发表于 2015-4-11 12:24
你的vector1里面有数字已经越界了。还有你想得到的输出是一个向量么?若是,设你待提取的矩阵名为x, 两个向 ...
啊举例的时候没注意不好意思
原来这样就可以了,谢谢~~

“如果矩阵的header不是数字而是字母,vector也是字母不是数字,这种矩阵要怎么提取?”这个问题不知道你可以解答么?
二维码

扫码加我 拉你入群

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

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

2015-4-11 13:11:28
syfzxy 发表于 2015-4-11 12:06
diag(matrix[vector1,vector2])
好像不行呃……thx anyway~
二维码

扫码加我 拉你入群

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

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

2015-4-11 13:23:06
waxxyeah 发表于 2015-4-11 13:11
好像不行呃……thx anyway~
我试了一下可以的,能告诉我是哪儿的问题吗?一起学习下
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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