R:用两个零后填充矩阵

时间:2018-04-18 00:26:45

标签: r

我有一个10x1矩阵的矩阵coef=matrix(c(0),nrow=value)。 我希望在每两个零(0)位置后填充一个。更清楚的是它应该是这样的:

 [1,]    0
 [2,]    0
 [3,]    1
 [4,]    1
 [5,]    0
 [6,]    0
 [7,]    1
 [8,]    1
 [9,]    0
[10,]    0

所以在两个零之后有两个零。 我没有循环这样做,这非常简单,我可以用它来填充每2个位置。 到目前为止,这是简单的代码:

value=10
coef=matrix(c(0),nrow=value)
coef[1]=0
coef[2]=0
coef[3]=1
coef[4]=1
coef[5]=0
coef[6]=0
coef[7]=1
coef[8]=1
coef[9]=0
coef[10]=0

1 个答案:

答案 0 :(得分:2)

我不确定我明白。为什么不直接创建相应的矩阵?而不是创建10x1零矩阵,然后替换条目。

matrix(rep(c(0, 1), each = 2, length.out = 10), nrow = 10)
#      [,1]
# [1,]    0
# [2,]    0
# [3,]    1
# [4,]    1
# [5,]    0
# [6,]    0
# [7,]    1
# [8,]    1
# [9,]    0
#[10,]    0