Arrays 利用条件生成向量

Arrays 利用条件生成向量,arrays,r,vector,Arrays,R,Vector,如何在R中创建这种数组 iii <- seq(from = 1, to = 49, by = 2) 我需要创建的阵列: 1, 0, 3, 0, 5, 0, 7, . . . , 0, 49 使用: 它的作用是: x%%2为x的不均匀值创建一个一的向量,为x的偶数值创建一个零的向量 将x与x%%2相乘,就得到了一个值不均匀的向量,其中间为零 根据@lmo的建议,您还可以: x <- seq(1, 11, 2) head(rep(x, each = 2) * (1:0), -1

如何在R中创建这种数组

iii <- seq(from = 1, to = 49, by = 2)
我需要创建的阵列:

1, 0, 3, 0, 5, 0, 7, . . . , 0, 49
使用:

它的作用是:

  • x%%2
    x
    的不均匀值创建一个一的向量,为
    x
    的偶数值创建一个零的向量
  • x
    x%%2
    相乘,就得到了一个值不均匀的向量,其中间为零

根据@lmo的建议,您还可以:

x <- seq(1, 11, 2)
head(rep(x, each = 2) * (1:0), -1)

x@lmo不错的选择!您需要删除最后一个值以获得所需的结果(请参阅更新)@lmo true&fixed
x <- 1:11
x * (x %% 2)
[1]  1  0  3  0  5  0  7  0  9  0 11
x <- seq(1, 11, 2)
head(rep(x, each = 2) * (1:0), -1)