我有一个栅格,我需要比较第一行和最后一行的值。 (我想知道,如果有一个群集连接顶部和底部) 这就是我所做的:
V1=getValues(r,row=1)
V1=V1[V1!=0]
V1=unique(V1)
与最后一行相同。 然后我这样做:
V1 %in% V2
没关系。它正在发挥作用。但是我需要用很多栅格做到这一点。
我考虑用这几个栅格创建一个列表,然后在列表的每个栅格上运行上面的脚本。我以为我可以用lapply
做到这一点,但我不知道该怎么做。
或许有可能得到一些数据帧或类似的东西
raster connected
r1 TRUE
r2 FALSE
r3 FALSE
... ...
答案 0 :(得分:1)
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
。请注意,这是未经测试的,因为您没有提供任何示例数据。