如何按类别在列的表

47个视图(30天)
我有一个表11列和59个不知名的行。我可以按字母顺序排序的行,升序,降序,增加,减少,等用
Sort_Table = sortrows (Table_Name,“variable_name”);
我怎样才能通过类别表内列进行排序的方式不是字母?例如,国家的列是一个列表(这样几行有相同的国家名称),我希望与一个特定的列表的第一行国家既不按字母顺序第一个或最后一个。我试过了
Sort_Table = sortrows (Table_Name,“variable_name”,“variable_value”);
以及
Sort_Table = sortrows (Table_Name,“variable_name”,{variable_value});
但是没有提供我所想要的结果。一些帮助将不胜感激!
2的评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年4月6日
numberOfDoors预计将一个字符串()数组至少尽可能多的条目的最大尺寸变量 在任何维度(除非大门是空的。)
你开始在数组的开始 numberOfDoors ,并比较每个条目的字符串“2”、“3”、“4”、“5”。如果是“2”你替换变量的全部内容 doorsorted 变量的内容 doorsorted2 。如果是“3”那么你替换变量的全部内容 doorsorted 变量的内容 doorsorted3,同样“4”- > doorsorted4,和“5”- > doorsorted5。 然后你继续下一项 numberOfDoors , 可能 覆盖整个变量 doorsorted 当你做的事。
所有的覆盖,净效应是:
  • 如果是空的,或如果没有一个numberOfDoors匹配条目的“2”、“3”、“4”、“5”,然后向左doorsorted将空数组
  • 否则,找到去年进入numberofDoors相匹配的“2”、“3”、“4”、“5”,并分配相应的变量doorsorted2 doorsorted3, doorsorted4或doorsorted5 doorsorted。
代码很可能是错的。我倾向于期望
doorsorted = [];
h = 1:长度(门)
如果numberOfDoors (h) = =“2”
doorsorted (h) = doorsorted2;
elseifnumberOfDoors (h) = =“3”
doorsorted (h) = doorsorted3;
elseifnumberOfDoors (h) = =“4”
doorsorted (h) = doorsorted4;
elseifnumberOfDoors (h) = =“5”
doorsorted (h) = doorsorted5;
其他的
doorsorted (h) =南;% 0或正或“其他”之类的
结束
结束

登录置评。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2018年2月1日
2的评论
凯莉•汉森
凯莉•汉森 2018年2月6日
非常感谢,你们两个!我从来没有听说过一个分类变量,但我觉得我可以利用它经常在未来。

登录置评。

更多的答案(0)

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的