Tengo una matriz que se rellena con elementos discretos, y necesito agruparlos (usando R) en grupos intactos. Entonces, por ejemplo, tome esta matriz:
[A B B C A]
[A A B A A]
[A B B C C]
[A A A A A]
Habría dos grupos separados para A, dos grupos separados para C y un grupo para B.
La salida que estoy buscando idealmente asignaría una ID única a cada clúster, algo como esto:
[1 2 2 3 4]
[1 1 2 4 4]
[1 2 2 5 5]
[1 1 1 1 1]
En este momento, escribí un código que hace esto de forma recursiva al verificar iterativamente el vecino más cercano, pero se desborda rápidamente cuando la matriz se hace grande (es decir, 100x100).
¿Hay una función incorporada en R que pueda hacer esto? Miré en el procesamiento de imágenes y trama, pero no tuve suerte. Estoy convencido de que debe estar ahí afuera.