如何有效地将所有光栅文件导入R?

时间:2014-10-08 22:50:42

标签: r r-raster

我从工作目录之外的文件夹中将10多个光栅文件(单频段文件,不是很大)引入R中。单独调用文件是有效的,但它变得乏味。我见过人们使用类似的代码:

require(raster) 
current.list <- list.files(path="Y:/Spatial/RasterData/current", 
     pattern =".tif", full.names=TRUE)
c.stack<- stack(current.list)

然而,它为我带来了各种错误。包括,&#34; .rasterObjectFromFile(x,band = band,objecttype =&#34; RasterLayer&#34;,:无法从此文件创建RasterLayer对象。(文件不存在)& #34;

注意,我已经尝试了几种不同的格式(.grd,.img),并且在运行命令之前通常还需要(rgdal)。提前感谢您的想法!

2 个答案:

答案 0 :(得分:4)

我还没有对它进行过测试,但我想如果你添加一个&#34; $&#34;签到你的模式结束=&#34; .tif&#34;部分,即:

current.list <- list.files(path="Y:/Spatial/RasterData/current", 
     pattern =".tif$", full.names=TRUE)

......事情应该有效。 &#34; $&#34;符号本质上表示字符串的结尾,因此您只列出以&#34; .tif&#34;结尾的文件。除了(例如&#34; tif.aux.xml&#34;)。

祝你好运,如果不能为你做这件事,请告诉我。

答案 1 :(得分:0)

我遇到了这个问题。我只需要将工作目录设置为与要导入栅格的位置相同,然后就可以正常工作了。