如何在R中创建具有不同数字的字符串序列

Agu*_*cho 14 r sequence

我只是想不通如何创建一个矢量,其中字符串是常量但数字不是.例如:

c("raster[1]","raster[2]","raster[3]")
Run Code Online (Sandbox Code Playgroud)

我想使用类似的东西seq(raster[1],raster[99], by=1),但这不起作用.

提前致谢.

Abd*_*dou 20

sprintf功能也应该有效:

rasters <- sprintf("raster[%s]",seq(1:99))
head(rasters)
[1] "raster[1]" "raster[2]" "raster[3]" "raster[4]" "raster[5]" "raster[6]"
Run Code Online (Sandbox Code Playgroud)

正如Richard Scriven所建议的那样,%d效率更高%s.因此,如果您使用更长的序列,则使用更合适:

rasters <- sprintf("raster[%d]",seq(1:99))
Run Code Online (Sandbox Code Playgroud)

  • `%d`可能更合适.我认为使用`%s`,序列首先被强制转换为字符然后应用.但我可能是错的. (2认同)

Sym*_*xAU 11

我们可以做的

paste0("raster[", seq(1:6), "]")
# [1] "raster[1]" "raster[2]" "raster[3]" "raster[4]" "raster[5]" "raster[6]"
Run Code Online (Sandbox Code Playgroud)