【问题标题】:Add each element of vector to another vector将向量的每个元素添加到另一个向量
【发布时间】:2017-03-02 10:56:50
【问题描述】:

我有 2 个向量

x <- c(2,2,5)
y <- c(1,2)

我想把向量的每个元素加在一起得到

[1] 3 3 6 4 4 7

我该怎么做?

【问题讨论】:

    标签: r vector add


    【解决方案1】:

    我们可以使用outerFUN 作为+

    c(outer(x, y, `+`))
    #[1] 3 3 6 4 4 7
    

    【讨论】:

      【解决方案2】:

      您可以尝试使用expand.grid 创建每对 x/y 元素,然后计算行总和:

      rowSums(expand.grid(x, y))
      # [1] 3 3 6 4 4 7
      

      【讨论】:

        【解决方案3】:

        您还可以使用rep+ 的变体:

        rep(x, length(y)) + rep(y, each=length(x))
        [1] 3 3 6 4 4 7
        

        + 的第二个参数使用 rep 的每个参数,它重复 y 的每个元素,对应于 x 的长度。

        【讨论】:

          【解决方案4】:

          或者你可以试试:

          as.vector(sapply(y,function(i) (i+x)))
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-09-06
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多