【问题标题】:Cross merge two vectors [duplicate]交叉合并两个向量
【发布时间】:2018-01-21 04:43:54
【问题描述】:

如何在R中交叉合并两个向量?

例如从c(1,2,3,4)c(5,6,7,8)构造c(1,5,2,6,3,7,4,8)

【问题讨论】:

    标签: r vector


    【解决方案1】:

    类似于ycw的方法,可以使用rbind构造矩阵,然后与c形成向量:

    c(rbind(a, b))
    [1] 1 5 2 6 3 7 4 8
    

    数据

    a <- 1:4
    b <- 5:8
    

    【讨论】:

      【解决方案2】:

      vectors 的length 不一样时,另一个同样有效的选项是order 通过两个vectors 的串联序列

      c(a,b)[order(c(seq_along(a), seq_along(b)))]
      #[1] 1 5 2 6 3 7 4 8
      

      数据

      a <- c(1, 2, 3, 4)
      b <- c(5, 6, 7, 8)
      

      【讨论】:

        【解决方案3】:
        a <- c(1, 2, 3, 4)
        b <- c(5, 6, 7, 8)
        
        ab <- as.vector(matrix(c(a, b), nrow = 2, byrow = TRUE))
        ab
        [1] 1 5 2 6 3 7 4 8
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-11-13
          • 1970-01-01
          相关资源
          最近更新 更多