У меня есть вложенный список с большим количеством элементов и количеством растров в каждом элементе. Упрощенная структура списка выглядит следующим образом:
## create main List
r <- raster(ncol=3, nrow=3)
values(r) <- 1:ncell(r)
s <- stack(r,r*2,r*3)
List <- split(as.list(s), 1) # here List has a single element but in the real example has >10
Мне нужно сложить растры, хранящиеся в другом списке (с именем Ref_List), в растры, хранящиеся в основном списке, соответственно:
stack(List[[1]][[1]], Ref_list[[1]])
stack(List[[1]][[2]], Ref_list[[2]])
stack(List[[1]][[3]], Ref_list[[3]])
...
Количество растров, содержащихся в Ref_list[[i]]
, такое же, как и в List[[i]][[j]]
. Я попытался следующий цикл для выполнения операции стека, но результат равен NULL.
Есть идеи о том, как решить эту проблему? Спасибо!
List_stack <- lapply(List,function(i){ # i specifies elements within the list
lapply(i,function(j){ # j specifies the elements of each element, within the list
st <- stack(j)
## create REF list
z <- raster(ncol=3, nrow=3)
values(z) <- 0.5:ncell(z)
t <- stack(z,z*2,z*3)
Ref_list <- as.list(t)
## STACK REF list with MainList
for(i in 1:length(Ref_list)){
final <- stack(Ref_list[[i]], st)
}
})
})