I'm trying to assign values to a number of raster files in a folder, and apply the raster()
function to them, with the eventual aim to plot, stack, and subject algebra to them. So each raster file in the folder would be assigned to "r1", "r2" etc. So far I have:
f <- list.files(path="path/to/files", pattern="*.tif", full.names=TRUE, recursive=FALSE)
r <- lapply(f, raster)
lapply(r, function(i){
assign(paste0("r", i), i)
})
但是,如果我返回r1,则仅给出以下输出:
> r1
[1] 1
我不太确定如何确保r返回实际的栅格,而不仅仅是返回整数。
我们可以遍历“ r”的序列并赋值
With a
list
, we can also uselist2env
不要使用分配。认为您需要它是一个初学者的常见错误。它很少有很好的用途---并且您可能永远不需要它。使用它会导致可怕的代码,其中包含您按名称调用的许多对象。
您应该做什么取决于接下来发生的事情,而您没有告诉我们。但是通常,如果您想使用名称,则可以为列表的元素命名
或图层具有相同的范围和分辨率,制作一个RasterStack并命名图层