楼主: kikiteng
927 2

[问答] 将矩阵和矢量添加到矩阵中 [推广有奖]

  • 0关注
  • 0粉丝

高中生

65%

还不是VIP/贵宾

-

威望
0
论坛币
7 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
5055 点
帖子
2
精华
0
在线时间
66 小时
注册时间
2005-11-29
最后登录
2021-9-17

楼主
kikiteng 发表于 2016-4-15 12:22:02 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
在书上看到如果带有行名的矩阵添加到一个矩阵中去,可以根据行名进行调整。而将矢量添加到矩阵中去,就不会调整顺序。我试了一下,怎么也不行。求大神指教。
> test<-matrix(c(seq(1,24,1)),ncol=6)
> test
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    5    9   13   17   21
[2,]    2    6   10   14   18   22
[3,]    3    7   11   15   19   23
[4,]    4    8   12   16   20   24

> another<-c(28,27,26,25)
> cbind(test,another)
                                 another
[1,] 1 5  9 13 17 21      28
[2,] 2 6 10 14 18 22      27
[3,] 3 7 11 15 19 23      26
[4,] 4 8 12 16 20 24      25

> rname<-c('a','b','c','d')
> cname<-c('U','V','W','X','Y','Z')
> rownames(test)<-rname
> colnames(test)<-cname

> test
  U V  W  X  Y  Z
a 1 5  9 13 17 21
b 2 6 10 14 18 22
c 3 7 11 15 19 23
d 4 8 12 16 20 24

> another<-matrix(c(28,27,26,25),ncol=1)
> another
     [,1]
[1,]   28
[2,]   27
[3,]   26
[4,]   25
> rownames(another)<-c('d','c','b','a')
> another
  [,1]
d   28
c   27
b   26
a   25

> cbind(test,another)
  U V  W  X  Y  Z   
a 1 5  9 13 17 21 28
b 2 6 10 14 18 22 27
c 3 7 11 15 19 23 26
d 4 8 12 16 20 24 25



二维码

扫码加我 拉你入群

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

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

关键词:Another Other Names test name another

沙发
qoiqpwqr 发表于 2016-4-15 20:11:31
R不会自动帮你按照行名进行调整。自己动手吧。

  1. > test
  2.   U V  W  X  Y  Z
  3. a 1 5  9 13 17 21
  4. b 2 6 10 14 18 22
  5. c 3 7 11 15 19 23
  6. d 4 8 12 16 20 24
  7. > another
  8.   [,1]
  9. d   28
  10. c   27
  11. b   26
  12. a   25
  13. > cbind(test, another[match(rownames(test), rownames(another)), ])
  14.   U V  W  X  Y  Z   
  15. a 1 5  9 13 17 21 25
  16. b 2 6 10 14 18 22 26
  17. c 3 7 11 15 19 23 27
  18. d 4 8 12 16 20 24 28
复制代码
已有 1 人评分论坛币 学术水平 收起 理由
jiangbeilu + 10 + 1 热心帮助其他会员

总评分: 论坛币 + 10  学术水平 + 1   查看全部评分

藤椅
robbieyeah 发表于 2016-4-15 22:32:13
我不知道你是在哪里看到的可以根据行名自动对行。根据帮助里的说明:For cbind row names are taken from the first argument with appropriate names: rownames for a matrix, or names for a vector of length the number of rows of the result.

cbind只从第一个变量提取行名作为结果的行名,但所有的合并依然和之前的一样进行,无关第二个变量是否有行名。
已有 1 人评分论坛币 学术水平 收起 理由
jiangbeilu + 10 + 2 我很赞同

总评分: 论坛币 + 10  学术水平 + 2   查看全部评分

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 06:34