Ho una matrice che è popolata con elementi discreti e ho bisogno di raggrupparli (usando R) in gruppi intatti. Quindi, ad esempio, prendi questa matrice:
[A B B C A]
[A A B A A]
[A B B C C]
[A A A A A]
Ci sarebbero due cluster separati per A, due cluster separati per C e un cluster per B.
L'output che sto cercando assegnerebbe idealmente un ID univoco a ciascun cluster, qualcosa del genere:
[1 2 2 3 4]
[1 1 2 4 4]
[1 2 2 5 5]
[1 1 1 1 1]
In questo momento ho scritto un codice che lo fa in modo ricorsivo controllando solo ripetutamente il vicino più vicino, ma trabocca rapidamente quando la matrice diventa grande (cioè 100x100).
Esiste una funzione integrata in R che può fare questo? Ho esaminato l'elaborazione raster e delle immagini, ma senza fortuna. Sono convinto che debba essere là fuori.