如何生成以R中的序列结尾的字符串列表

问题描述 投票:0回答:1

所以我试图生成一个带有前缀并以这样的数字序列结尾的字符串列表:

R中的[c("b01001_001", "b01001_002",...,"b01001_030")

这是我的代码:

generate_var = function(prefix, length){
  varlist = c()
  i = 1
  while (i <= y){
    if (i < 10){
      var = paste(x, "_00", as.character(i), sep = " ")
    }
    if (i >= 10){
      var = paste(x, "_0", as.character(i), sep = " ")
    }
    varlist[[i]] = var
    i = i + 1
  }
}

varlist = generate_var("b01001", 30)

该函数最终生成一个空列表。有人可以帮我看看我的代码,告诉我哪里出了问题吗?谢谢!

r function loops append
1个回答
0
投票

R具有矢量化功能,请将pastesprintf一起使用。

generate_var = function(prefix, length) {
   paste(prefix, sprintf('%03d', seq_len(length)), sep = '_')
}

generate_var("b01001", 6)
#[1] "b01001_001" "b01001_002" "b01001_003" "b01001_004" "b01001_005" "b01001_006"
© www.soinside.com 2019 - 2024. All rights reserved.