Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R apply系列中的两个列表_R_List_Apply_Lapply_R Raster - Fatal编程技术网

R apply系列中的两个列表

R apply系列中的两个列表,r,list,apply,lapply,r-raster,R,List,Apply,Lapply,R Raster,我正在尝试使用apply系列和extract从光栅包中从光栅列表(rasterlist)中提取两个区域ex1和ex2)。我可以使用嵌套的for循环,但我想知道是否有一种方法可以通过其中一个apply族成员实现这一点,因为考虑了嵌套的for循环。这里是虚拟代码: library(raster) ras1 <- raster(matrix(runif(20), nrow = 5, ncol = 5)) ras2 <- ras1 * 2 ras3 <- ras1 * 0.5 rast

我正在尝试使用
apply
系列和
extract
从光栅包中从光栅列表(
rasterlist
)中提取两个区域
ex1
ex2
)。我可以使用嵌套的for循环,但我想知道是否有一种方法可以通过其中一个apply族成员实现这一点,因为考虑了嵌套的for循环。这里是虚拟代码:

library(raster)
ras1 <- raster(matrix(runif(20), nrow = 5, ncol = 5))
ras2 <- ras1 * 2
ras3 <- ras1 * 0.5
rasterlist <- list(ras1, ras2, ras3)
ex1 <- extent(0, 0.4, 0, 0.4)
ex2 <- extent(0.6, 1, 0.4, 1)
exlist <- list(ex1, ex2)
库(光栅)

ras1您可以从将这些区域合并为单个空间多边形对象开始(也许它们是从什么开始的?)。使用您的示例数据,可以这样做:

ex <- do.call(bind, sapply(exlist, function(x) as(x, 'SpatialPolygons')))
ex
ex <- do.call(bind, sapply(exlist, function(x) as(x, 'SpatialPolygons')))
s <- stack(rasterlist)
extract(s, ex)