【发布时间】:2012-12-16 00:24:44
【问题描述】:
这个问题似乎有变体,但似乎没有一个解决处于循环和命名和输出文件中的情况。我认为这可能如何工作:
for(j in 1:3) {
for(k in 1:17){
extract_[j]km <- extract(RasterStack, SpatialPolygonsDataFrame_[j]km, layer=[k], nl=1, df=TRUE)
}
}
提取功能来自光栅包。我已经创建了一系列 RasterStacks 和 SpatialPolygons,我想将它们传递给具有多个参数的函数(“提取”),其中一些我希望通过循环进行操作,并相应地标记输出。这在 BASH 中是一件轻而易举的事,但我无法在 R 中解决这个问题。
最终,我也想传递字符串,但 another post 似乎显示了那里的方式。
编辑:我最初将上述函数发布为单个数据帧,而实际上,它们是栅格包中的指定对象(最终是数据帧)。
【问题讨论】:
-
您可以使用
assign执行此操作,但不建议这样做。相反,R 方法是将每个分配为命名列表的一个元素。在get和assign之间,有很多绳子可以吊死自己,但建议重新考虑您的方法并使用 R 提供的一些列表工具。 -
您的更新有问题。它将返回 extract[1]km for layer=17, extract[2]km for layer=17 and extract[3]km for layer=17.
-
为了后代,可以在这里找到函数作者的回答:r-sig-geo.2731867.n2.nabble.com/…
-
@RomanLuštrik - 这行得通...应该作为答案包含在内吗?
-
为了完整起见,如果罗伯特可以顺便过来并将其发布为答案,那就太好了。 :)