如何在栅格列表上使用 lapply

How to use lapply over a list of rasters

我有一个栅格,我需要比较第一行和最后一行的值。 (我想知道,是否有一个连接顶部和底部的集群) 这就是我所做的:

V1=getValues(r,row=1)
V1=V1[V1!=0]
V1=unique(V1)

与最后一行相同。 然后我这样做:

V1 %in% V2

没关系。它的工作。但是我需要对许多栅格进行此操作。 我想过用这几个栅格创建一个列表,然后 运行 上面的脚本覆盖列表的每个栅格。我以为我可以用 lapply 做到这一点,但我不知道该怎么做。

或者也许有可能恢复某种数据帧或类似的东西

raster     connected 
r1         TRUE
r2         FALSE
r3         FALSE
...        ...
FUN.raster <- function(r) {
  x <- getValues(r, row = 1)
  x <- x[x!=0]
  x <- unique(x)

  y <- getValues(r, row = nrow(r))
  y <- y[y!=0]
  y <- unique(y)

  x %in% y
}

然后

sapply(rasterlist, FUN.raster)

这为您提供了一个 TRUE/FALSE 的布尔向量,其长度为 rasterlist。请注意,这是未经测试的,因为您没有提供任何示例数据。