Копировать строки в матрице - PullRequest
0 голосов
/ 10 июня 2019

У меня есть матрица

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

Я хотел бы повторить возраст строки на основе количества имен строк в матрице А.

Пример:

                  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 Ответ

1 голос
/ 10 июня 2019

Не уверен, что вы пытаетесь сделать, но вы можете использовать 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))
...