R:readRDS()后无法在Temp目录中打开连接

时间:2018-08-14 09:15:23

标签: r

今天,我尝试加载前几天使用readRDS()创建的RDS文件(该文件之前没有问题)。对readRDS()的调用本身有效,但是当我尝试使用结果时,出现错误:

elevation <- readRDS("../data/elevation.rds")  # works
plot(elevation)  # error (also other functions like extract())

Error in file(fn, "rb") : cannot open the connection
In addition: Warning message:
In file(fn, "rb") :
    cannot open file 'C:\Users\[user]\AppData\Local\Temp\Rtmpc5bMne\raster\r_tmp_2018-08-08_230940_6836_24077.gri': No such file or directory

我查看了指定的临时目录,确实没有指定的目录(Rtmpc5bMne)。路径也以filename的形式存储在栅格堆栈elevation中。

但是,我不明白为什么它试图从临时目录中加载(仅当实际使用栅格堆栈时),或者为什么不在readRDS()上创建临时目录。我正在与此同时使用其他RDS文件,并且它们正在正常工作(例如bioclim)。我知道临时目录可能在重新启动后被清空,但是以某种方式必须永久存储数据,不是吗?

这是我创建RDS文件的方式:

elev1 <- getData('SRTM', lon=33, lat=5, download=TRUE, path="../data/altitude")
elev2 <- getData('SRTM', lon=33, lat=0, download=TRUE, path="../data/altitude")
elev3 <- getData('SRTM', lon=37, lat=5, download=TRUE, path="../data/altitude")
elev4 <- getData('SRTM', lon=41, lat=5, download=TRUE, path="../data/altitude")
elev5 <- getData('SRTM', lon=37, lat=0, download=TRUE, path="../data/altitude")
elev6 <- getData('SRTM', lon=41, lat=0, download=TRUE, path="../data/altitude")

srtmmosaic <- mosaic(elev1, elev2, elev3, elev4, elev5, elev6, fun=mean)
saveRDS(srtmmosaic, "../data/elevation.rds")

如前所述,这以前没有问题。

我刚刚测试过重新运行创建的代码(包括下载),现在上面的代码(readRDS,plot)再次起作用。但是,如何确保下载的数据保持重新启动状态?

(顺便说一下,我不是R专业人士,而栅格堆栈仍然让我头疼。)

0 个答案:

没有答案