/ / R problema di clustering gerarchico con matrice di input - r, matrice, clustering gerarchico

R problema di clustering gerarchico con matrice di input - r, matrice, clustering gerarchico

Sono principiante in R. Ho un grafico con 11 vertici. Sto cercando di creare un dendrogramma con un singolo collegamento, ma sto ottenendo qualche errore strano. Questa è la mia matrice di distanze che ho creato manualmente. La sua matrice 11x11.

mat<-matrix(c(0,1,2,3,3,1,2,2,2,3,2,
1,0,1,2,2,2,1,2,3,2,3,
2,1,0,1,1,2,2,1,2,3,3,
3,2,1,0,1,3,3,2,3,4,4,
3,2,1,1,0,3,3,2,3,4,4,
1,2,2,3,3,0,1,1,1,2,1,
2,1,2,3,3,1,0,1,2,1,2,
2,2,1,2,2,1,1,0,1,2,2,
2,3,2,3,3,1,2,1,0,1,1,
3,2,3,4,4,2,1,2,1,0,1,
2,3,3,4,4,1,2,2,1,1,0),nrow=11,byrow=TRUE)
rownames(mat)<-c("v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10", "v11")
colnames(mat)<-c("v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10", "v11")

Quando provo a lanciare la mia funzione hclust con questo:

singleLinkage <- hclust(mat,method="single")

Ottengo errore Error in if (is.na (n) || n> 65536L) stop ("la dimensione non può essere NA né superare 65536"): valore mancante dove TRUE / FALSE aveva bisogno. Penso che l'errore sia nella matrice. Nella funzione hclust dovrebbe esserci una matrice creata dalla funzione dist, ma non ho compreso del tutto questo concetto. Per favore qualcuno può aiutare dove è l'errore? Grazie mille. :)

risposte:

2 per risposta № 1

Hai indovinato. Devi passare hclust un dist oggetto. Lo ottieni calcolando dist, o, come nel tuo caso, costringendo la matrice a dist (dal momento che ha già le sue proprietà).

hclust(as.dist(mat), method = "single")