2015-11-02 1 views

ответ

7

Когда мы конкатенируем (c) два вектора, он становится одним вектором. Если бы идея заключалась в том, чтобы повторить «a» на 2 и «b» на 1, мы поместим их в list и используем rep. Выход будет list, который может быть unlist ed, чтобы получить vector.

unlist(rep(list(a,b), c(2,1))) 
+0

, но когда я делаю 'rep (c (0,7), times = c (4,2)), он работает. Поэтому я смутился. – Alexander

+0

@Alexander Длина 0,7 равна двум, которые соответствуют длине раз. – akrun

+0

ОК я вижу. Поэтому я могу задать свой главный вопрос об установке :) – Alexander

1

Выраженный ответ уже совершен: Вот альтернатива, используя mapply

unlist(mapply(function(x,n)rep(x,n),list(a,b),c(2,1))) 

 Смежные вопросы

  • Нет связанных вопросов^_^