如何创建以下矢量?
vec = (0 1 1 0 0 0 1 1 1 1)
我已经尝试rep(0:1,times=1:4)
使用0以外的数字但不在这里... =
答案 0 :(得分:4)
对于代表,'时代'和' x'需要具有相同的长度(除非'时间的长度等于1)。因此,你需要制作一个矢量' x'在这种情况下长度为4。
> rep(rep(0:1,2),times=1:4)
[1] 0 1 1 0 0 0 1 1 1 1
答案 1 :(得分:4)
这是一个通用解决方案:
> 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。