MATLAB Answers

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

22 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)