2014-10-08 52 views
1

我從我的工作目錄以外的文件夾中將10多個光柵文件(單波段文件,不是很大)引入到R中。個別地調用這些文件是可行的,但它變得單調乏味。我看到有人使用類似這樣的代碼:如何有效地將所有光柵文件導入R?

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

但是,它給我提出了各種錯誤。其中, 「.rasterObjectFromFile(X,帶=帶,OBJECTTYPE = 」RasterLayer「:無法創建該文件RasterLayer對象(文件不存在)。」

注意,我已經嘗試了幾種不同的格式(.grd,.img)並且通常也需要(rgdal)才能運行命令。提前感謝您的想法!

+0

嗨Lorena - 請顯示current.list返回的內容。也許這是文件名的問題。另外,你可能想看到:http://stackoverflow.com/questions/6464235/problem-importing-usda-crop-data-layer-gtiff-in-r-using-raster-package – John 2014-10-08 23:47:23

+0

謝謝,@約翰(我current.list返回我的文件列表,包括我的.tifs,然後是輔助文件,例如[10] ... t_curr.tif「 [11]」... t_curr.tif.aux .xml「 [12]」... t_curr.tif.xml「所以,我想我應該問,我該如何覆蓋/消除arcGIS中需要的這些文件? – lorena 2014-10-15 16:33:11

回答

3

我還沒有測試過它,但我想如果您添加一個「$」你的模式=名爲「.tif」部分的結束,即:

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

...事情應該工作的‘$’符號基本上意味着字符串的結尾。所以你只會列出以「.tif」結尾的文件,而沒有任何內容超出(例如「tif.aux.xml」)。

祝你好運,讓我知道如果這不適合你。