如何使用带有 for 循环的粘贴?

How to use paste with for-loops?

我正在尝试循环使用库 stringi 中的函数 stri_join,但我有困难。我想获得“A_1.png”、“A_2.png”、“A_3.png”、“A_4.png”、“A_5.png”等,直到“ A_200.png".

这是我的尝试:

 x <- c(1:200)
 x
 for (i in 1:length(x)){
   Names <-paste("A_", 1:length(i), ".png",sep = "")
   print(Names)
 }

我获得“A_1.png”200次。如果你能指出我所缺少的。

我们不需要循环,因为 paste 是向量化的。所以要么使用 sprintf

Names <- sprintf("A_%d.png", x)

paste

Names <- paste0("A_", x, ".png")

如果这是 for 循环的练习,初始化 'Names' 向量并将 'Names' 的每个元素分配给 paste[=18= 中的相应值]

Names <- character(length(x))
for(i in seq_along(x)){
  Names[i] <- paste0("A_", i, ".png") 
}

stringi 解法:

stri_paste("A_",1:200,".png")

使用从 1 到 200 的矢量和“.png”粘贴 'A_'。矢量化来帮忙,我们得到了想要的结果。