我有一個簡單的功能從與他們的名字列表中創建的光柵文件列表(在.GRD格式,並呼籲在下面的例子list_names):如何迭代保存結果格式的列表?
ListRasters <- function(list_names) {
raster_list <- list() # initialise the list of rasters
for (i in 1:(length(list_names))){
grd_name <- list_names[i] # list_names contains all the names of the images in .grd format
raster_file <- raster(grd_name)
}
raster_list <- append(raster_list, raster_file) # update raster_list at each iteration
}
# Apply the function
raster_list <-lapply(list_names, FUN = ListRasters)
理想的結果應該是在格式:
[[1]]
class : RasterLayer
# etc
[[2]]
class : RasterLayer
# etc
而是我讓他們在格式:
[[1]]
[[1]][[1]]
class : RasterLayer
# etc
[[2]]
[[2]][[1]]
class : RasterLayer
# etc
這是一個問題,因爲後來我無法訪問項目s在柵格列表上。 我找不到解決方案,因爲我不明白爲什麼迭代會提供此格式的結果。你能否給我一些解釋或者關於如何解決這個問題的建議,或者你能看出我犯了什麼錯誤?
任何幫助都比歡迎!
謝謝!
不需要使用'lapply',因爲這會給你一個列表(在你的情況)。改爲使用'raster_list < - ListRasters(list_names)'。在旁註中,你是否知道你只是在'for'循環之後追加到列表中,而不是在代碼註釋中描述的每個迭代步驟中? – fotNelton
「柵格」函數的輸出是什麼? –