【问题标题】:Creating Vector with Condition创建带条件的向量
【发布时间】:2018-03-19 14:34:09
【问题描述】:

如何在 R 中创建这种数组?

iii <- seq(from = 1, to = 49, by = 2)

这只会创造价值:

1  3  5 .. 49

我需要创建的数组:

1, 0, 3, 0, 5, 0, 7, . . . , 0, 49

【问题讨论】:

    标签: arrays r vector


    【解决方案1】:

    使用:

    x <- 1:11
    x * (x %% 2)
    

    给予:

    [1]  1  0  3  0  5  0  7  0  9  0 11
    

    这是做什么的:

    • x %% 2x 的奇数值创建一个向量,为x 的偶数值创建一个零。
    • xx %% 2 相乘,从而得到一个具有不均匀值且中间有零的向量。

    根据@lmo 的建议,你也可以这样做:

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

    这将给出相同的结果。

    【讨论】:

    • @lmo 不错的选择!您需要删除最后一个值才能获得所需的结果(请参阅更新)
    • @lmo 真实且已修复
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-04
    • 2014-05-24
    • 2015-06-19
    • 1970-01-01
    • 1970-01-01
    • 2022-06-28
    • 1970-01-01
    相关资源
    最近更新 更多