Повторите строки во фрейме данных в соответствии с вектором - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть фрейм данных, и я хотел бы повторить каждую строку для каждого элемента в предварительно определенном векторе.

например, если у меня есть матрица (например, я использую матрицу)

     matrix(c(1,2,3,2,1,3),2)
         [,1] [,2] [,3]
  [1,]    1    3    1
  [2,]    2    2    3

Я хотел бы, чтобы это возвращало

matrix(c(1,1,2,2,3,3,2,2,1,1,3,3),4)
      [,1] [,2] [,3]
[1,]    1    3    1
[2,]    1    3    1
[3,]    2    2    3
[4,]    2    2    3

, если вектор был vec = c (2,2).мой вектор имеет элементы разного размера.Извините, я новичок в кодировании.

1 Ответ

0 голосов
/ 18 декабря 2018

Повторите по номерам строк.В вашем примере:

base = matrix(c(1,2,3,2,1,3),2)
rows = 1:nrow(base)
index= rep(rows, c(2,2))
base[index,]
...