【问题标题】:Multiple array items appending附加多个数组项
【发布时间】:2012-10-22 10:28:47
【问题描述】:

这是可重现的代码:

a <- rep(1, 20)
a[c(1, 12, 15)] <- 0
b <- which(a == 0)
set.seed(123)
d <- round(runif(17) * 100)

我想将0s 附加到d 以获得以下结果:

[1]  0 29 79 41 88 94  5 53 89 55 46  0 96 45  0 68 57 10 90 25

在将0s 附加到索引等于b - 1 的每个元素之后等于d

我看到append() 只接受一个“after”值,不超过一个。

我该怎么办?

请记住,我无法更改 d 的长度,因为它被认为是一个相当长的函数的输出,而不是像本例中那样的简单随机序列。

【问题讨论】:

    标签: arrays r append


    【解决方案1】:

    您可以使用负下标将非零元素分配给新向量。

    D <- numeric(length(c(b,d)))
    D[-b] <- d
    D
    # [1]  0 29 79 41 88 94  5 53 89 55 46  0 96 45  0 68 57 10 90 25
    

    【讨论】:

      猜你喜欢
      • 2015-09-12
      • 2020-02-29
      • 2023-03-03
      • 2020-06-23
      • 1970-01-01
      • 2016-08-16
      • 2020-10-11
      • 2018-09-28
      • 1970-01-01
      相关资源
      最近更新 更多