Sorting Columns of a table.
Show older comments
I have a table with two columns without any title, i want to sort the numbers in the table in an order. I've a ttached a picture of my table to the question.
5 Comments
Walter Roberson
on 8 Oct 2018
Is there a particular reason why you did not store them as numeric if you want them to act numeric?
Guillaume
on 8 Oct 2018
I suspect the reason is that graph won't let you use numeric values for the node names.
>> g = graph(eye(3));
>> g.Nodes = table([1;2;3], 'VariableNames', {'Name'})
Error using graph.validateName (line 358)
Node names must be a cell array of nonempty character vectors.
Guillaume
on 8 Oct 2018
And please do not ask the same question multiple times. It's a waste of our effort.
Walter Roberson
on 8 Oct 2018
graph() accepts numeric s and t arrays. categorical too I think.
Guillaume
on 8 Oct 2018
Yes, the edges can be numeric (and usually are), the node names cannot be numeric.
However, looking at the discussion in the other identical question, that wx appears to be simply a copy of the Edge table, not something generated from the Node table, so you are right, the values in wx should be numeric.
Answers (2)
KSSV
on 8 Oct 2018
0 votes
Okay you can sort them in the way you want. Have a look on the function sort. With this you can sort.
If you want to sort wx according to the numeric values:
[~, order] = sortrows(str2double(wx.EndNodes));
wx = wx(order, :);
Categories
Find more on Shifting and Sorting Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!