Когда я выступаю:
a <- seq(1,1.5,0.1)
b <- c(1,1.1,1.4,1.5)
x <- rep(c(a,b),times=c(2,1))
Ошибка в rep(c(a, b), c(2, 1)) : неверный аргумент "times"
Почему?
Когда я выступаю:
a <- seq(1,1.5,0.1)
b <- c(1,1.1,1.4,1.5)
x <- rep(c(a,b),times=c(2,1))
Ошибка в rep(c(a, b), c(2, 1)) : неверный аргумент "times"
Почему?
Когда мы объединяем (c
) два вектора, он становится одним вектором. Если идея состоит в том, чтобы воспроизвести «a» на 2 и «b» на 1, мы помещаем их в list
и используем rep
. На выходе будет list
, который можно unlist
обработать, чтобы получить vector
.
unlist(rep(list(a,b), c(2,1)))
rep(c(0,7),times=c(4,2))
, он работает. Так что я запутался.
- person Alexander; 02.11.2015
Отмеченный ответ уже идеален: здесь альтернатива с использованием mapply
unlist(mapply(function(x,n)rep(x,n),list(a,b),c(2,1)))