在 R 中以不同名称保存循环中生成的栅格名称

use*_*020 3 loops r raster

我正在尝试创建 5 个光栅文件并使用单独的名称写入每个光栅文件。到目前为止,我已经成功实现了这一点:

c=5
for (i in 1:c){
z<-RFsimulate(x=x,y=y,grid=TRUE,model = model,maxGB=4.0)
a<-raster(z)
projection(a) <- "+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"
writeRaster(raster(a),filename="raster[i].tif")
} 
Run Code Online (Sandbox Code Playgroud)

但我在工作目录中只找到一个光栅文件(光栅 1)。我想我会有五个光栅文件名称 raster1、raster2.....raster5。谁能帮我看看我的代码有什么问题吗?

谢谢

Rob*_*ans 5

这是一个非常基本的 R 问题。您可能应该用简单的循环练习一下。使用print语句来查看发生了什么。请注意,您创建了对象a但并未使用它。"raster[i].tif"是一个字符串,它与 iterator 没有关系i。这是一个解决方案:

n <- 5
for (i in 1:n){
    z <- RFsimulate(x=x,y=y,grid=TRUE,model = model,maxGB=4.0)
    a <- raster(z, crs="+proj=longlat +datum=WGS84")
    f <- paste0('raster', i, '.tif')
    writeRaster(a, filename=f)
}               
Run Code Online (Sandbox Code Playgroud)