【发布时间】:2020-05-08 23:01:57
【问题描述】:
我正在尝试为文件夹中的多个光栅文件分配值,并将raster() 函数应用于它们,最终目的是为它们绘制、堆叠和主题代数。所以文件夹中的每个光栅文件都将被分配给“r1”、“r2”等。到目前为止我有:
f <- list.files(path="path/to/files", pattern="*.tif", full.names=TRUE, recursive=FALSE)
head(f)
[1] "path/to/files/wc2.1_2.5m_prec_1970-01.tif"
[2] "path/to/files/wc2.1_2.5m_prec_1970-01.tif.ovr"
[3] "path/to/files/wc2.1_2.5m_prec_1970-02.tif"
[4] "path/to/files/wc2.1_2.5m_prec_1970-02.tif.ovr"
[5] "path/to/files/wc2.1_2.5m_prec_1970-03.tif"
[6] "path/to/files/wc2.1_2.5m_prec_1970-03.tif.ovr"
r <- lapply(f, raster)
lapply(r, function(i){
assign(paste0("r", i), i)
})
但是,如果我返回 r1,它只会给出以下输出:
> r1
[1] 1
我不太确定如何确保 r 返回实际的栅格,而不仅仅是一个整数。
【问题讨论】:
-
您好nis38,如果您可以分享
list.files时返回的数据(或相同形状和类似内容的虚拟数据),这样我们就可以在本地剪切和粘贴代码,这将是有帮助的并重现您的错误。当我们可以在本地运行代码时,更容易探索解决方案。谢谢:)