小编Kyl*_*yle的帖子

二进制矩阵中1的簇群

我正在寻找围绕所有1s和0s 创建集群。与Mindsweeper相似,我想基本上在所有1s 周围“画一个圆” ,并在0s存在的地方创建边框。

我尝试使用hclust()和创建距离矩阵,但是我正在使用的实际表非常大,并且运行时遇到了问题。

test_matrix  <- matrix(c( 1,1,0,0,0,0,1,     
                          1,1,1,0,0,1,0,
                          0,1,0,0,0,1,0,
                          0,0,0,1,1,1,0,
                          0,0,0,1,1,1,1),nrow=5)
Run Code Online (Sandbox Code Playgroud)

结果如下:

     [,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,]    1    0    0    1    0    1    0
[2,]    1    1    0    0    0    1    1
[3,]    0    1    1    0    0    0    1
[4,]    0    1    0    0    0    0    1
[5,]    0    1    0    1    1    0    1
Run Code Online (Sandbox Code Playgroud)

我的规则如下:如果通过UP,DOWN,LEFT,RIGHT,DIAGONAL(任何方向)1将任何一个连接到任何1一个,请继续增加“集群”。根据这些规则(每个点有8个连接点),我可以发现四个孤立1s的唯一簇。

您将如何编码以找到这些组?

binary r matrix

7
推荐指数
1
解决办法
343
查看次数

标签 统计

binary ×1

matrix ×1

r ×1