【问题标题】:creating nested sequences in R在 R 中创建嵌套序列
【发布时间】:2015-07-29 21:52:45
【问题描述】:

我想创建以下vector,其中包含两个嵌套的sequences,加上字母ab

desired.data <- c('a1b1', 'a1b2', 'a1b3', 'a2b1','a2b2', 'a2b3', 
                  'a3b1', 'a3b2', 'a3b3', 'a4b1','a4b2', 'a4b3', 
                  'a5b1', 'a5b2', 'a5b3')

我怀疑这是重复的,但我已经搜索了 Stack Overflow 一个小时没有成功。感谢您的任何建议。

【问题讨论】:

    标签: r sequence paste


    【解决方案1】:

    使用paste0rep 及其each 参数,并依赖向量回收:

    paste0("a", rep(1:5, each = 3), "b", 1:3)
    #[1] "a1b1" "a1b2" "a1b3" "a2b1" "a2b2" "a2b3" "a3b1" "a3b2" "a3b3" "a4b1" "a4b2" "a4b3" "a5b1" "a5b2" "a5b3"
    

    【讨论】:

      【解决方案2】:

      如果字符串中的模式比两个数字和两个字符更复杂,这里有一个替代解决方案可能更可行

      concat <- function(x) paste0('a', x[, 2], 'b', x[, 1])
      concat(expand.grid(1:3, 1:5))
      #[1] "a1b1" "a1b2" "a1b3" "a2b1" "a2b2" "a2b3" "a3b1" "a3b2" "a3b3" "a4b1" "a4b2" "a4b3" "a5b1" "a5b2" "a5b3"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-29
        • 1970-01-01
        • 1970-01-01
        • 2013-05-12
        • 2017-09-12
        • 1970-01-01
        • 1970-01-01
        • 2016-03-22
        相关资源
        最近更新 更多