复制矩阵中的行

时间:2019-06-10 11:16:10

标签: r shell matrix row

我有一个矩阵

A<- 
DOG.             4
CAT.             3
MOUSE.           6
PIG.             1
HORSE.           9

动物名是行名。 现在我有了矩阵:

B <- 
             A1.   A2.     A3.    A4.      A5.    A6.    
AGE.         16.   15.     4.      9.      11.    12pm

我想根据矩阵A中有多少行名来复制行龄。

示例:

                  A1.   A2.     A3.    A4.      A5.    A6.    
DOG.             16.    15.      4.     9.      11.    12
CAT              16.    15.      4.     9.      11.    12
MOUSE            16.    15.      4.     9.      11.    12 
HORSE            16.    15.      4.     9.      11.    12
PIG              16.    15.      4.     9.      11.    12.

建议?

1 个答案:

答案 0 :(得分:1)

不确定要执行的操作,但是可以使用replicate并在其后分配行名,即

m3 <- t(replicate(nrow(m1), m2[1,]))
rownames(m3) <- rownames(m1)

m3
#      [,1] [,2] [,3] [,4] [,5] [,6]
#DOG     16   15    4    9   11   12
#CAT     16   15    4    9   11   12
#MOUSE   16   15    4    9   11   12
#PIG     16   15    4    9   11   12
#HORSE   16   15    4    9   11   12

位置

dput(m1)
structure(c("4", "3", "6", "1", "9"), .Dim = c(5L, 1L), .Dimnames = list(
    c("DOG", "CAT", "MOUSE", "PIG", "HORSE"), NULL))

dput(m2)
structure(c(16, 15, 4, 9, 11, 12), .Dim = c(1L, 6L), .Dimnames = list(
    "AGE", NULL))