R:清理临时目录后无法运行某些功能



我收到错误:

Error in file(fn, "rb") : cannot open the connection
In addition: Warning message:
In file(fn, "rb") :
cannot open file 'C:Users***AppDataLocalTempRtmpwh6Zihrasterr_tmp_2020-05-
13_170601_12152_33882.gri': No such file or directory

当我在 RStudio (1.2.5042( 中运行以下代码时:

raster.binair <- vector(mode = "list", length = length(aggregated.rasters)) 
for (i in 1:NROW(aggregated.rasters)) { 
+     clamped <- clamp(aggregated.rasters[[i]], upper=12, useValues=FALSE)
+     raster.binair[[i]] <- clamped
+   } 

"aggregated.rasters"是 96 个栅格的列表,当我单独运行它时,我会得到正确的列表。我最近清理了我的临时目录(通过tempdir(( 访问(并删除了其中的文件。我想部分:

cannot open file 'C:Users***AppDataLocalTempRtmpwh6Zihrasterr_tmp_2020-05-
13_170601_12152_33882.gri': No such file or directory

指的是这个。我不知道我在这里做错了什么。我可以找回这些文件或解决此错误吗?

R 会话结束时,将删除临时文件夹中的文件。所以你永远不应该指望他们。您可以再次运行代码,但如果要永久保留结果,则需要将它们写入其他位置。这里有两个选项

写入多个文件

raster.binair <- vector(mode = "list", length = length(aggregated.rasters)) 
for (i in 1:NROW(aggregated.rasters)) { 
f <- paste0("raster_", i)
clamped <- clamp(aggregated.rasters[[i]], upper=12, useValues=FALSE, filename=f)
raster.binair[[i]] <- clamped
} 

写入单个文件

raster.binair <- vector(mode = "list", length = length(aggregated.rasters)) 
for (i in 1:NROW(aggregated.rasters)) { 
raster.binair[[i]]  <- clamp(aggregated.rasters[[i]], upper=12, useValues=FALSE)
} 
s <- stack(raster.binair)
s <- writeRaster(s, filename="mydata.tif")

最新更新