代码之家  ›  专栏  ›  技术社区  ›  12666727b9

如何在不覆盖结果的情况下在两个向量中求和

  •  0
  • 12666727b9  · 技术社区  · 3 年前

    我想总结两个向量,以一种方式:

    A = seq(10, 30, 10)
    B = seq(1, 6, 1)
    C = c()
    
    for (i in B) {
      for (j in A)
      C = c(j + i)
    }
    

    C将是一个向量,所有结果都来自:

    for (i in B) {
      for (j in A)
      print(j + i)
    }
    

    我对此矩阵不感兴趣。我能做什么? 谢谢

    1 回复  |  直到 3 年前
        1
  •  1
  •   benson23    3 年前

    您可以使用 outer 在这种情况下。

    c(outer(A, B, `+`))
    [1] 11 21 31 12 22 32 13 23 33 14 24 34 15 25 35 16 26 36
    

    如果你真的需要一个for循环,我们可以在评论中使用@Feel free提供的方法:

    for (i in B) {
      for (j in A)
        C = append(C, j + i)
    }
    
    C
    [1] 11 21 31 12 22 32 13 23 33 14 24 34 15 25 35 16 26 36