我已经用 tk_choose.files 读取了几个 .asc 文件作为光栅层,它们现在在一个列表中xz.list
:
library(tcltk)
library(raster)
xz.list <- lapply(tk_choose.files(caption = "Choose Layers"), raster)
由于列表中组件的数量取决于读取了多少 .asc 文件,因此我正在寻找一种方法来取消列出xz.list
每个组件都作为变量 自动写入的x.1
方法。x.i
我试过这个没有运气:
for( i in 1:length(xz.list) ){
assign( paste("x" , i , sep = "." , xz.list[[i]]))
}
更新:
对不起,我不清楚的例子。我尝试更精确:
创建栅格列表:
xz.list <- lapply(1:5,function(x){
r1 <- raster(ncol=3, nrow=3)
values(r1) <- 1:ncell(r1)
r1
})
现在我想像这样在每一层中拆分列表:
x.1 <- xz.list[[1]]
x.2 <- xz.list[[2]]
x.i <- xz.list[[i]]
每一层的输出应该如下所示xz.list
:
x.1
class : RasterLayer
dimensions : 3, 3, 9 (nrow, ncol, ncell)
resolution : 120, 60 (x, y)
extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names : layer
values : 1, 9 (min, max)
问题是,中的层数xz.list
随着选择的层数而变化tk_choose.files
。所以我需要找到一种方法来拆分xz.list
它的每一层,并将每一层放入一个变量 from x.1
tox.i
而不知道之前的层数。i
代表 中的层数xz.list
。