Problem with Cluster command
Mostra commenti meno recenti
When I ran the following three commands from the Statistics and Machine Learning Toolbox in the shown order, in my command window
Y = pdist(X)
Z - linkage(Y)
T = cluster(Z,'cutoff',1.2)
where X is 3042x53 matrix of type double, I get the following error (just after I execute statement 3) "Index in position 1 is invalid. Array indices must be positive integers or logical values." I then repeated these commands with a smaller X input (4x8). Same result. I believe that "cluster" wants integers for the first two columns of the Z input, (Z was produced by linkage) but the last column of Z is a distance measure and is real - so all columns of Z must be real. What am I doing wrong or misunderstanding?
Risposta accettata
Più risposte (1)
Walter Roberson
il 24 Gen 2020
Z = linkage(squareform(Y)) ;
6 Commenti
Walter Johnson
il 24 Gen 2020
Walter Roberson
il 24 Gen 2020
X = rand(4,8);
Y = pdist(X);
SY = squareform(Y);
Z = linkage(SY);
T = cluster(Z, 'cutoff', 1.2)
works for me. Tested in R2019a.
What shows up when you use
which linkage
? You should see toolbox/stats/stats/linkage.m . I am wondering if perhaps you are accidentally getting the linkage() routine from Peter Corke's Robotics Toolbox.
Walter Johnson
il 26 Gen 2020
Walter Roberson
il 26 Gen 2020
Hmmm... I just realized that you might somehow have an existing variable named cluster
Walter Johnson
il 26 Gen 2020
Walter Roberson
il 26 Gen 2020
It does happen a fair bit, most commonly with a variable named sum .
Categorie
Scopri di più su Hierarchical Clustering in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!