Sorting Columns of a table.
Afficher commentaires plus anciens
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 commentaires
Walter Roberson
le 8 Oct 2018
Is there a particular reason why you did not store them as numeric if you want them to act numeric?
Guillaume
le 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
le 8 Oct 2018
And please do not ask the same question multiple times. It's a waste of our effort.
Walter Roberson
le 8 Oct 2018
graph() accepts numeric s and t arrays. categorical too I think.
Guillaume
le 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.
Réponses (2)
KSSV
le 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, :);
Catégories
En savoir plus sur Shifting and Sorting Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!