【问题标题】:How to concatenate strings in a specified order如何以指定的顺序连接字符串
【发布时间】:2014-08-12 15:20:08
【问题描述】:

尝试从这篇帖子how to alternatively concatenate 3 strings 对角连接字符串,但没有成功。

我的输入是:

a<-c("a1","a2","a3")
b<-c("b1","b2","b3")
c<-c("c1","c2","c3")

我的预期输出是

   "a1" "b2" "c3" "a2" "b3" "a3"

如何获得以上内容

  c(rbind(a,b,c))  

【问题讨论】:

    标签: r concatenation


    【解决方案1】:

    将下对角线设置为缺失后,如何按行和列导出的值对向量进行排序

    mat <- rbind(a,b,c)
    
    mat[lower.tri(mat)] <- NA
    na.omit(mat[order(col(mat) - row(mat))])
    

    【讨论】:

      【解决方案2】:

      一种方法是调整Mark's 解决方案

      as.vector(na.omit(c(sapply(1:3, function(i) c(a[i], b[i+1], c[i+2])))))
      #[1] "a1" "b2" "c3" "a2" "b3" "a3"
      

      还有,

       vec1 <- c(a,b,c)
       indx <- seq(1,length(vec1), by=4)+rep(0:2,each=3)
       indx1 <- indx[indx <= length(vec1)]
       vec1[indx1[-length(indx1)]]
       #[1] "a1" "b2" "c3" "a2" "b3" "a3"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-12-01
        • 2016-04-21
        • 2014-07-25
        • 1970-01-01
        • 1970-01-01
        • 2020-01-01
        • 2021-05-29
        • 1970-01-01
        相关资源
        最近更新 更多