Saya memiliki matriks yang diisi dengan elemen diskrit, dan saya perlu mengelompokkannya (menggunakan R) ke dalam kelompok utuh. Jadi, misalnya, ambil matriks ini:
[A B B C A]
[A A B A A]
[A B B C C]
[A A A A A]
Akan ada dua kelompok terpisah untuk A, dua kelompok terpisah untuk C, dan satu kelompok untuk B.
Output yang saya cari idealnya akan menetapkan ID unik untuk setiap cluster, seperti ini:
[1 2 2 3 4]
[1 1 2 4 4]
[1 2 2 5 5]
[1 1 1 1 1]
Saat ini saya menulis kode yang melakukan ini secara rekursif dengan hanya mengecek tetangga terdekat, tetapi dengan cepat meluap ketika matriks menjadi besar (yaitu, 100x100).
Apakah ada fungsi bawaan di R yang bisa melakukan ini? Saya melihat ke dalam raster dan pemrosesan gambar, tetapi tidak berhasil. Saya yakin itu pasti ada di luar sana.