我从我的工作目录之外的文件夹中将 10 多个光栅文件(单波段文件,不是很大)引入 R。单独调用文件有效,但它变得乏味。我见过人们使用类似的代码:
require(raster)
current.list <- list.files(path="Y:/Spatial/RasterData/current",
pattern =".tif", full.names=TRUE)
c.stack<- stack(current.list)
Run Code Online (Sandbox Code Playgroud)
但是,它给我带来了各种错误。包括,“ .rasterObjectFromFile(x, band = band, objecttype = "RasterLayer", : 不能从这个文件创建一个 RasterLayer 对象。(文件不存在) “
请注意,在运行命令之前,我已经尝试了几种不同的格式(.grd、.img)并且通常还需要(rgdal)。预先感谢您的想法!
我还没有测试过,但我认为如果你在模式=“.tif”部分的末尾添加一个“$”符号,即:
current.list <- list.files(path="Y:/Spatial/RasterData/current",
pattern =".tif$", full.names=TRUE)
Run Code Online (Sandbox Code Playgroud)
......事情应该有效。“$”符号本质上表示字符串的结尾,因此您只会列出以“.tif”结尾的文件,而不会列出其他任何内容(例如“tif.aux.xml”)。
祝你好运,如果这不适合你,请告诉我。