MATLAB: How to sort a cell of data according to it’s label

celllabel;sort

Hi suppose I have the following data,
how do i sort the following data in the order of stridor first followed by wheeze then by crackle.
Thank you.

Best Answer

Hi,
As suggested by dpb, you can convert the ‘label’ column of the table to be categorical and specify the order in which you want to sort the data. The following code snippet reflects the same, considering the data to be in a table named ‘dataset’.
% dataset.Var6 is the sixth column of the table
dataset.Var6 = categorical(dataset.Var6, {'stridor', 'wheeze', 'cracle'});
% The order of sort will be the order in which the categories are specified in creating the categorical array
dataset = sortrows(dataset,6);
Hope this helps.