web-dev-qa-db-fra.com

comment créer une séquence de chaînes avec des nombres différents dans R

Je n'arrive pas à comprendre comment créer un vecteur dans lequel les chaînes sont constantes mais pas les nombres. Par exemple:

c("raster[1]","raster[2]","raster[3]")

Je voudrais utiliser quelque chose comme seq(raster[1],raster[99], by=1), mais cela ne fonctionne pas.

Merci d'avance.

16
Agus camacho

La fonction sprintf devrait également fonctionner:

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

Comme suggéré par Richard Scriven, %d est plus efficace que %s. Donc, si vous travaillez avec une séquence plus longue, il serait plus approprié d'utiliser:

rasters <- sprintf("raster[%d]",seq(1:99))
24
Abdou

Nous pouvons faire

paste0("raster[", seq(1:6), "]")
# [1] "raster[1]" "raster[2]" "raster[3]" "raster[4]" "raster[5]" "raster[6]"
11
SymbolixAU