如何在栅格列表上使用 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
。请注意,这是未经测试的,因为您没有提供任何示例数据。
我有一个栅格,我需要比较第一行和最后一行的值。 (我想知道,是否有一个连接顶部和底部的集群) 这就是我所做的:
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
。请注意,这是未经测试的,因为您没有提供任何示例数据。