#reproducible example
r <- raster(ncols=12, nrows=12)
set.seed(0)
r[] <- round(runif(ncell(r))*0.7 )
rc <- clump(r)
#extract IDs of clumps according to some criteria
clump9 = data.frame(freq(rc))
clump9 = clump9[ ! clump9$count < 9, ] #remove clump observations with frequency smaller than 9
clump9 = as.vector(clump9$value) # record IDs from clumps which met the criteria in previous step
rc[rc != clump9[1] & rc != clump9[2]] = NA #replace cells with IDs which do not belong to the group of interest
plot(rc,col="black",legend=FALSE)
Note that from the clump
function, the clump ID "4" had 2 cells in the right side connecting with cells on the left.
head(rc)
1 2 3 4 5 6 7 8 9 10 11 12
1 NA NA NA NA 2 NA 2 2 NA NA NA NA
2 NA NA NA 2 NA 2 2 NA 2 2 NA NA
3 NA NA NA NA NA 2 NA NA NA NA NA NA
4 NA 4 NA 2 NA 2 NA NA NA NA NA NA
5 NA 4 NA NA 2 NA NA NA NA NA NA NA
6 NA 4 NA NA NA NA NA NA NA NA NA NA
7 4 NA NA NA NA NA NA NA NA NA NA NA
8 NA 4 NA NA NA NA NA NA NA NA 4 4
9 4 NA NA NA NA NA NA NA NA NA NA NA
10 NA 4 NA NA NA NA NA NA NA NA NA NA