Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将循环中生成的光栅名称以不同的名称保存在R中_R_Loops_Raster - Fatal编程技术网

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

将循环中生成的光栅名称以不同的名称保存在R中,r,loops,raster,R,Loops,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),file

我正在尝试创建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")
} 
c=5
(1:c中的i){

z这是一个非常基本的R问题。你可能应该练习一些简单的循环。使用
print
语句查看发生了什么。请注意,你创建了对象
a
,但没有使用它。
“光栅[i]。tif”
是一个字符串,它与迭代器
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)
}               

n这是一个非常基本的R问题。你可能应该练习一些简单的循环。使用
print
语句查看发生了什么。请注意,你创建了对象
a
,但没有使用它。
“光栅[i]。tif”
是一个字符串,它与迭代器
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)
}               

nR没有自动字符串插值。如果要将
i
的值放入
filename
字符串中,则需要显式替换它。请尝试以下操作:

   ...
   projection(a) <- ...
   filename <- gsub("INDEX", i, "raster_INDEX.tif")
   writeRaster(raster(z), filename=filename
}

R没有自动字符串插值。如果要将
i
的值放入
filename
字符串中,则需要显式替换它。请尝试以下操作:

   ...
   projection(a) <- ...
   filename <- gsub("INDEX", i, "raster_INDEX.tif")
   writeRaster(raster(z), filename=filename
}