在R中创建有序的编号字符串?

时间:2017-06-28 17:08:01

标签: r regex string

我想知道如何在R中按照有序编号字符串" list" 创建整个

我可以想到noquote(paste0("p.b", 1:7, rep(".", 7), rep(1, 7))),但这只是创建字符串的第一行而不是以下字符串的整个 4行:

p.b1.1 ; p.b2.1 ; p.b3.1 ; p.b4.1 ; p.b5.1 ; p.b6.1 ; p.b7.1 
p.b1.2 ; p.b2.2 ; p.b3.2 ; p.b4.2 ; p.b5.2 ; p.b6.2 ; p.b7.2  
p.b1.3 ; p.b2.3 ; p.b3.3 ; p.b4.3 ; p.b5.3 ; p.b6.3 ; p.b7.3  
p.b1.4 ; p.b2.4 ; p.b3.4 ; p.b4.4 ; p.b5.4 ; p.b6.4 ; p.b7.4

注意:我刚用;来区分每个对象,我在最终生成的字符串中不需要;。再次注意,这些需要是 列表

2 个答案:

答案 0 :(得分:1)

noquote(sapply(1:4, function(i)
    paste((paste("p.b", 1:7, ".", rep(i, 7), sep = "")), collapse = " ; ")))
#[1] p.b1.1 ; p.b2.1 ; p.b3.1 ; p.b4.1 ; p.b5.1 ; p.b6.1 ; p.b7.1
#[2] p.b1.2 ; p.b2.2 ; p.b3.2 ; p.b4.2 ; p.b5.2 ; p.b6.2 ; p.b7.2
#[3] p.b1.3 ; p.b2.3 ; p.b3.3 ; p.b4.3 ; p.b5.3 ; p.b6.3 ; p.b7.3
#[4] p.b1.4 ; p.b2.4 ; p.b3.4 ; p.b4.4 ; p.b5.4 ; p.b6.4 ; p.b7.4

OR

noquote(t(sapply(1:4, function(i)
    (paste("p.b", 1:7, ".", rep(i, 7), sep = "")))))
#     [,1]   [,2]   [,3]   [,4]   [,5]   [,6]   [,7]  
#[1,] p.b1.1 p.b2.1 p.b3.1 p.b4.1 p.b5.1 p.b6.1 p.b7.1
#[2,] p.b1.2 p.b2.2 p.b3.2 p.b4.2 p.b5.2 p.b6.2 p.b7.2
#[3,] p.b1.3 p.b2.3 p.b3.3 p.b4.3 p.b5.3 p.b6.3 p.b7.3
#[4,] p.b1.4 p.b2.4 p.b3.4 p.b4.4 p.b5.4 p.b6.4 p.b7.4

答案 1 :(得分:1)

outer(1:4, 1:7, sprintf, fmt = 'p.b%d.%d')