所以我试图生成一个带有前缀并以这样的数字序列结尾的字符串列表:
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具有矢量化功能,请将paste
与sprintf
一起使用。
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"