楼主: xl0418
3988 5

[问答] 请问如何实现通过行列名来给矩阵赋值 [推广有奖]

  • 0关注
  • 0粉丝

已卖:159份资源

大专生

31%

还不是VIP/贵宾

-

威望
0
论坛币
1698 个
通用积分
0.2250
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1262 点
帖子
38
精华
0
在线时间
48 小时
注册时间
2008-10-19
最后登录
2017-6-15

楼主
xl0418 发表于 2016-7-1 21:02:09 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如题,请问大神们有撒好的不用循环的方法不
目前我有一个很大的稀疏矩阵A,里面只有一部分需要赋值,我给A的行列命名。 现在我有A里需要赋值的行列名构成的矩阵,比如矩阵B (1000行,两列),B中每一行是A中需要赋值元素的行列名, 然后我有对应的向量C 里面是对应B每一行位置信息的赋值,我该如何用矩阵B 和向量C 来给A赋值呢?
最好不用循环语句,因为最后A矩阵会非常大,循环太花时间了。谢谢

举个栗子

A =             col 1   col2   col 3  col4
          row1   .        .          .       .
          row2   .        .          .       .
          row3   .        .          .       .
          row4   .        .          .       .


B 是一个两列的矩阵,每一行是要赋值的位置信息  
比如        row1,  col 2
               row2, col3
               row2, col4
              row 3, col1
              row4, col2
              row4, col4
C是 要放进A 的数值,对应B 中每一个位置信息
      (1,2,3,4,5,6)

我想通过位置信息B 和值C 给A赋值。  谢谢
这里就该是
A =             col 1   col2   col 3  col4
          row1   .        1          .       .
          row2   .        .          2       3
          row3   4        .          .       .
          row4   .        5          .       6

我尝试过  A[rownames(A) = B[,1], colnames(A)=B[,2]]  这样的方法,但是提取的是每个B[,1] 和B[,2] 组合出来的元素,并不是按照行来提取的。
二维码

扫码加我 拉你入群

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

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

关键词:如何实现 Names name 稀疏矩阵 循环语句 如何

沙发
fenglx46801028 发表于 2016-7-1 21:13:22
不太明白楼主的描述,举个例子好不?

藤椅
xl0418 发表于 2016-7-1 21:27:07
fenglx46801028 发表于 2016-7-1 21:13
不太明白楼主的描述,举个例子好不?
感谢回复,已举栗子,不知道说清楚没。

板凳
bbslover 在职认证  发表于 2016-7-1 21:39:34
学习一下match()函数

报纸
xl0418 发表于 2016-7-1 21:48:06
bbslover 发表于 2016-7-1 21:39
学习一下match()函数
非常感谢!搞定!

地板
zhanglin99 发表于 2020-5-31 14:48:40
xl0418 发表于 2016-7-1 21:48
非常感谢!搞定!
请问楼主是如何实现的呢?谢谢

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 05:43