似乎有這個問題的變化,但似乎沒有解決處於循環和命名和輸出文件中的情況。我怎麼想這可能工作:將變量名稱傳遞給R中的函數並輸出內部結果
for(j in 1:3) {
for(k in 1:17){
extract_[j]km <- extract(RasterStack, SpatialPolygonsDataFrame_[j]km, layer=[k], nl=1, df=TRUE)
}
}
提取功能是從柵格包。我已經創建了一系列的RasterStacks和SpatialPolygons,並且我想將它們傳遞給一個函數(「提取」),該函數有幾個參數,其中一些我希望通過循環來處理,並相應地標記輸出。這在BASH中是一件輕而易舉的事,但我無法在R中弄清楚這一點。
最終,我想通過字符串,但another post似乎顯示了這種方式。
編輯:我最初發布上述函數作爲一個單一的數據框,實際上,他們是指定的對象從柵格包(這是最終的數據框)。
您可以使用'assign'來做到這一點,但不建議這樣做。相反,R方式將分配每個作爲命名列表的一個元素。在'get'和'assign'之間有很多繩索可以讓你自己處理,但是會建議你重新思考你的方法,並使用一些R代替的列表工具。 – Justin
您的更新有問題。它將爲layer = 17返回extract [1] km,爲layer = 17提取[2] km併爲layer = 17提取[3] km。 –
對於後代,可以在這裏找到作者的回答函數:http://r-sig-geo.2731867.n2.nabble.com/raster-How-to-loop-extract-function-td7581978.html –