Как создать следующий вектор?Создать вектор = (0 1 1 0 0 0 1 1 1 1)?
vec = (0 1 1 0 0 0 1 1 1 1)
Я уже пробовал rep(0:1,times=1:4)
, который работает с другими, чем 0 числами, но не здесь ... =
Как создать следующий вектор?Создать вектор = (0 1 1 0 0 0 1 1 1 1)?
vec = (0 1 1 0 0 0 1 1 1 1)
Я уже пробовал rep(0:1,times=1:4)
, который работает с другими, чем 0 числами, но не здесь ... =
Для повторения, «времен» и «х» нужно, чтобы иметь одинаковую длину (если длина 'times' равно 1). Поэтому в этом случае вам нужно создать вектор «x» с длиной 4.
> rep(rep(0:1,2),times=1:4)
[1] 0 1 1 0 0 0 1 1 1 1
Вот общее решение:
> increp=function(n){rep(0:(n-1), times=1:n) %% 2}
> increp(4)
[1] 0 1 1 0 0 0 1 1 1 1
> increp(3)
[1] 0 1 1 0 0 0
> increp(2)
[1] 0 1 1
> increp(6)
[1] 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1
Он генерирует 0,1,1,2,2,2,3,3,3
до нужной длины, а затем просто преобразует в 0/1 на основе четным или нечетным.
'rep (0: 1,2), times = 1: 4)' – Heroka
не случайно, его один 0, два 1, три 0, для 1 ... – letter
или 'rep (rep (0: 1, length.out = 4), раз = 1: 4) ' –