How can I perform a K-means cluster analysis of the data inside a cell array?

20 views (last 30 days)
I have a cell array - 10368 cells with two values each. I would like to perform a K-means cluster analysis of this data, but every time I try, I get the following error messages:
Undefined function 'isnan' for input arguments of type 'cell'.
Error in statremovenan (line 29) wasnan = wasnan | any(isnan(y),2);
Error in kmeans (line 125) [~,wasnan,X] = statremovenan(X);
How can I solve this problem?

Accepted Answer

Jonathan LeSage
Jonathan LeSage on 23 Oct 2013
The documentation of the kmeans function that you are trying to use requires a data matrix as an input. The cell array cannot be used, and hence your error.
Since your data seems to be a 10368x2 cell array, you could try out the cell2mat function to first convert your data into a 10368x2 data matrix. From there, the kmeans function should work as expected!
  1 Comment
seyed morteza mousavi
seyed morteza mousavi on 9 Nov 2017
dear,i want kmeans clustering, i use kdd cup99 data base that is a table and have 41 features and 42th feature is class type(attack, normal,...) and 158560rows, feature 2 and 3 and 4 and 42 is not numerical and they are categorical and have character for example tcp,http,sf,... i use table2cell for following your order and when i use cell2mat matlab say that error: contents of the input cell array must be on the same type, before that i use kmeans for basic table and matlab say that: cannot accept complex data , what shoud i dooooo please help me

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by