如何在for循环中使用paste

时间:2016-11-06 14:38:18

标签: r loops stringi

我正在尝试在循环中使用库 stringi 中的函数 stri_join ,但我遇到了困难。 我想获得" A_1.png"," A_2.png"," A_3.png"," A_4.png",& #34; 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)
 }

我获得了#34; A_1.png&#34; 200次。如果你能指出我所缺少的东西。谢谢!

2 个答案:

答案 0 :(得分:1)

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

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

paste

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

如果这是for循环的练习,请初始化&#39;姓名&#39;向量并分配&#39;名称&#39;的每个元素。来自paste

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

答案 1 :(得分:1)

stringi解决方案:

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

使用1到200的矢量和'.png'粘贴'A_'。矢量化有助于我们获得理想的结果。