你可以使用
SDMTools
.首先,我们将矩阵转换为
raster
,然后我们检测
clump
连接单元的s(面片)。每个束获得唯一的ID。NA和零用作背景值。最后
PatchStat
提供每个修补程序的统计信息。
library(raster)
library(SDMTools)
r <- raster(mat)
rc <- clump(r)
as.matrix(rc)
[,1] [,2] [,3] [,4] [,5]
[1,] NA 1 1 1 1
[2,] 1 NA NA 1 NA
[3,] 1 1 1 NA 1
[4,] NA NA NA NA NA
[5,] 2 2 NA NA NA
p <- PatchStat(rc)
max(p$n.cell)
[1] 10
示例数据
set.seed(2)
m <- 5
n <- 5
mat <- round(matrix(runif(m * n), m, n))
mat
[,1] [,2] [,3] [,4] [,5]
[1,] 0 1 1 1 1
[2,] 1 0 0 1 0
[3,] 1 1 1 0 1
[4,] 0 0 0 0 0
[5,] 1 1 0 0 0