topkrows

在排序顺序前行

描述

= topkrows(Xķ返回第一个ķ在阵列中的行X降序(数值数据)进行分类或反向字母顺序(文本数据)。topkrows根据第一列中的元素进行排序。当第一列包含值相等的元素时,topkrows根据下一列中的元素进行排序,并对后续的相等值重复此行为。

= topkrows(Xķ关口指定的列对结果进行排序关口。使用此语法可连续执行多个列排序。例如,topkrows(X,K,5)对…进行排序X降序基于在第五列中的元素的顺序。topkrows(X,K,[4 6])首先按第四列中的元素降序对行进行排序,然后根据第六列中的元素进行排序以断开连接。

= topkrows(___方向指定使用任何先前的语法的排序的方向。方向“提升”“下”或含有这些值的单元阵列。

例如,topkrows(A,2,[2 3],{'上升 '的深浅'})通过第一分拣行中获取的顶部两行中通过在塔2然后,将元件升序,它在由第3列的元素降序排序与列2相同条目的行。

= topkrows(___'ComparisonMethod',方法指定如何比较复杂的数字。比较方法可以是'汽车'“真实”的, 要么'ABS'

[一世] = topkrows(X___还返回一个索引向量一世它描述了所选行的顺序B = X(I,:)

= topkrows(Ťķ返回第一个ķ在表或时间表行Ť在排序顺序。表行是由所有的变量的递减排序顺序和时间表行是按时间降序排序顺序。

= topkrows(Ťķ瓦尔指定的变量对结果进行排序瓦尔。使用此语法在连续多个变量进行排序。例如,topkrows(T,K,{ 'VAR1', 'VAR2'})第一排序的行Ť基于在所述元件VAR1,然后将其通过排序中的元素VAR2

= topkrows(Ťķ瓦尔方向指定排序的方向。例如,使用“提升”进行排序Ť按升序排列。

= topkrows(___'ComparisonMethod',方法指定如何比较复杂的数字。比较方法可以是'汽车'“真实”的, 要么'ABS'

[一世] = topkrows(Ť___还返回一个索引向量一世它描述了所选行的顺序B = T(I,:)

例子

全部收缩

排序的矩阵的行使用不同的排序订单和查看顶行。

创建随机整数的1和10之间的20×5矩阵。

RNG默认%,持续重现X =兰迪(10年,20年,5);

对下列行进行排序X按降序排列,并返回前4行。默认情况下,topkrows排序使用矩阵的第一列。对于具有在特定列等于元件的任何行,则排序基于紧接在列到右侧。

TA = topkrows (X, 4)
TA =4×510 10 8 7 6 10 7 8 2 4 10 4 4 4 4 3 5 10 3 7 9 6

当使用三个输入参数调用时,topkrows基地排序完全在第三个参数指定的列。这意味着,与在指定列相等值的行保持在它们的原始顺序。分类X降序使用在第三列中的值顺序并返回前5行。

TB = topkrows(X,5,3)
结核病=5×55 7 10 2 6 2 9 8 6 6 10 10 8 7 6 10 7 8 2 4 10 2 8 3 6

分类X同时使用第三和第四列。在这种情况下,topkrows按列3对行进行排序。然后,对于第3列中值相等的任何行,它按第4列进行排序。

TC = topkrows(X,5,[3 4])
TC =5×55 7 10 2 6 10 10 8 7 6 2 9 8 6 6 10 2 8 3 6 10 7 8 2 4

使用多个列与不同的排序方向排序的矩阵。

创建一个由1到10之间的随机整数组成的100×5矩阵。

RNG默认%,持续重现X =兰迪(10,100,5);

分类X使用前三个栏,返回前10行。指定用于使用的单元阵列的每一列的分选方向。

TA = topkrows(X,10,1:3,{“下”“提升”“提升”})
TA =10×510 1 4 6 7 10 1 8 5 1 10 2 3 4 7 10 3 5 10 5 5 10 4 7 2 4 10 5 5 5 10 5 10 4 7 5 5 5 7 5 5 7 10 6 6 8 1 5 10 7 7 7 8 1

在表异构数据的行进行排序。

属性创建一个表patients.mat数据集,其包括用于一组患者基本健康信息。包括患者的年龄,性别,身高,并在表的自我评估健康状况。使SelfAssessedHealthStatus可变的有序分类数组。

加载病人瓦尔斯= {“可怜的”“公平”'好''优秀的'};SelfAssessedHealthStatus =分类(SelfAssessedHealthStatus,瓦尔斯,“序”,真正);T =表(年龄,性别,身高,SelfAssessedHealthStatus);

查找表按降序排序时的前10行。结果按第一个变量排序,年龄按降序排列。其余的列subsorted打破平局:

  • 性别变量被细分以打破与年龄的联系。

  • 高度变量打破了与性别的联系。

  • SelfAssessedHealthStatus随高度变化中断联系。

TA = topkrows(T,10)
TA =10×4表年龄性别身高SelfAssessedHealthStatus ___ _____ _____ ________________________ 50{‘男性’}72优秀50{‘男性’}68架好49{‘男性’}70 49{‘男性’}68贫穷49{‘女性’}64好49{‘女性’}63 48{‘男性’}71好48{‘男性’}71 48{‘男性’}66公平48{‘女性’}66好

通过在排序查找包含最年轻的女子排名前10位的行性别可变的,并且subsorting上年龄变量。

TB = topkrows(T,10,{“性别”'年龄'},“提升”
结核病=10×4表年龄,性别,身高SelfAssessedHealthStatus ___ __________ ______ ________________________ 25 { '女'} 63好25 { '女'} 64优秀27 { '女'} 69博会28 { '女'} 65好28 { '女'} 65好28 {'女'} 66好29 { '女'} 63优秀29 { '女'} 68优秀29 { '女'} 64好30 { '女'} 67优秀

发现前10名最老的女性通过改变分选方向年龄变量“下”

TB = topkrows(T,10,{“性别”'年龄'}, {“提升”“下”})
结核病=10×4表年龄性别身高SelfAssessedHealthStatus ___ __________ ______ ________________________ 49 { '女'} 64好49 { '女'} 63好48 { '女'} 65优秀48 { '女'} 66优秀48 { '女'} 64优秀48 {'女'} 64好48 { '女'} 66优秀47 { '女'} 66优秀46 { '女'} 68好45 { '女'} 68优秀

对复数矩阵按绝对值排序,然后按实部排序。

创建一个100×2的随机复数矩阵。

valRange = [-10 10];X =兰迪(valRange,100,2)+ 1I *兰迪(valRange,100,2);

找出矩阵的前10行。默认情况下,topkrows复数的绝对值进行比较。

TA = topkrows (X, 10)
TA =10×2复-10.0000 + 9.0000i 10.0000  -  2.0000i -8.0000 + 9.0000i 2.0000  -  8.0000i 9.0000 + 8.0000i 4.0000 + 7.0000i -6.0000 + 10.0000i -8.0000  -  7.0000i 6.0000 -1.0000 -10.0000i  -  5.0000i 6.0000 -10.0000i 0.0000+ 5.0000i -7.0000 + 9.0000i -2.0000  -  5.0000i 9.0000  -  7.0000i 10.0000 + 7.0000i 9.0000  -  7.0000i 6.0000 + 6.0000i -9.0000  -  7.0000i 9.0000 + 9.0000i

发现仅使用复数的实部矩阵的前10行通过指定'ComparisonMethod'名称-值对。

TB = topkrows(X,10,'ComparisonMethod'“真实”的
结核病=10×2复10.0000 + 4.0000i -3.0000  -  7.0000i 10.0000 + 3.0000i 4.0000 + 5.0000i 10.0000 + 2.0000i 5.0000  -  7.0000i 10.0000  -  1.0000i -1.0000  -  8.0000i 10.0000  -  1.0000i -6.0000 + 10.0000i 10.0000  -  4.0000i -9.0000 +0.0000i 10.0000  -  5.0000i -8.0000  -  3.0000i 9.0000 + 8.0000i 4.0000 + 7.0000i 9.0000 + 5.0000i -10.0000 + 0.0000i 9.0000 + 1.0000i 1.0000  -  9.0000i

输入参数

全部收缩

输入数组,指定为数字、逻辑、字符、字符串、分类、日期时间或持续时间数组。

  • 如果X是一个nonordinal分类数组,则topkrows根据返回的类别的顺序降序对元素进行排序类别(X)

  • 如果X包含为NaN的NaT或其它缺失值,然后topkrows在降序排序的高档场所的缺失值。

数据类型:||INT8|int16|int32|int64|uint8|uint16|UINT32|UINT64|合乎逻辑|字符|字符串|分类|约会时间|持续时间
复数支持:万博1manbetx是的

输入表,指定为表或时间表。

数据类型:|时间表

要返回的行数,指定为非负标量整数。如果ķ的行数X, 然后topkrows返回所有行的X

要排序的列,指定为正标量整数或正整数的向量。

例子:B = topkrows(X,100,[1 3])在返回前100行之前对第一列和第三列进行排序。

变量进行排序,指定为在此表中的选项之一。

选项 描述
正整数 topkrows(T,K,3) 整数ñ指定的变量来排序由作为返回的索引T.Properties.VariableNames {N}
正整数的向量 topkrows(T,K,[1 3]) 矢量[N1 N2 ...]指定几个变量的指数,以通过返回的排序T.Properties.VariableNames {[N1 N2 ...]}
逻辑向量 topkrows(T,K,[真假真]) 的值指定要排序的一个或多个变量真正要么
变量名 topkrows (T, k, Var3) 指定排序变量中列出的变量名之一T.Properties.VariableNames
单元阵列 topkrows (T, k, {' Var1 ' Var3 '}) 指定从选定的几个变量的排序T.Properties.VariableNames
'RowNames' topkrows(T,K, 'RowNames') 对于表只。这个选项会被行名的结果。

例子:B = topkrows(X,K,[1 3])对第一和第三列进行排序。

例子:B = topkrows(X,K, '年份')类使用变量。

排序方向,指定为“下”“提升”或细胞阵列,用于指定这些值的一些组合。

如果方向是一个单元阵列,那么它必须包含“下”要么“提升”指定的每个排序列关口要么瓦尔。如果您没有指定关口要么瓦尔,则单元格数组必须包含“下”要么“提升”在每一列X或在可变Ť

比较方法为复数,指定为下列值之一:

  • '汽车'-(默认)比较实际数字根据“真实”的并根据复数'ABS'

  • “真实”的- 通过实部相比号真正的(一个)。有相等的实部分数字被虚部subsortedIMAG(A)

  • 'ABS'- 由绝对值比较数字abs ()。以相等的大小号码由相位角subsorted角度(A)

此选项不支持非数值输入数据(万博1manbetx约会时间持续时间字符串等等)。

输出参数

全部收缩

请求的行,返回作为同一类的数组作为X要么Ť

行索引,返回作为载体。一世描述了选择的行,使得顺序B = X(I,:)要么B = T(I,:)

提示

  • topkrows没有做一个完整的排序输入数据的,所以它比一般的快分类sortrows当请求的行数较少。

兼容性注意事项

全部展开

行为R2017b改变

扩展功能

也可以看看

|||||

介绍了在R2016b