2015-04-26 7 views
0

Im пытается создать вектор, объединив несколько матриц с помощью цикла. Если я делаю это вручную, выглядит следующим образом:создание вектора из матриц с использованием цикла

vector = c(
      matrix(labels[1],ccl$size[1]), 
      matrix(labels[2],ccl$size[2]), 
      matrix(labels[3],ccl$size[3]), 
      matrix(labels[4],ccl$size[4]), 
      matrix(labels[5],ccl$size[5])) 

этикетки вектор с заданным числом элементов, как CCl $ размер. проблема в том, что ни один цикл не воспринимает какую-либо подстроку функции как ценный ввод.

редактировать: Я пытался

c(for(i in repeats) 
{matrix(labels[i],ccl$size[i]),} 
) 

edit2:

входы метки: C (2,1,3)

CCl $ Размер: с (12,10,7)

желаемый результат c (2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1, 1,3,3,3,3,3,3,3)

+0

Тогда вы просто ищете 'rep'? – A5C1D2H2I1M1N2O1R2T1

+0

Другими словами, просто 'rep (labels, ccl $ size)' –

+0

Вам нужно узнать, что первым аргументом в 'matrix' являются значения, а второй arg - количество строк. –

ответ

2

Вы ищете rep:

v1 <- c(2,1,3) 
v2 <- c(12, 10, 7) 

rep(v1, v2) 
# [1] 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 
Смежные вопросы