3
我需要按照第三列按升序对Julia中的四列矩阵进行排序,然后按降序对第四列进行排序。Julia:按不同顺序排列一列矩阵2列
我需要按照第三列按升序对Julia中的四列矩阵进行排序,然后按降序对第四列进行排序。Julia:按不同顺序排列一列矩阵2列
以任意顺序对列进行链接字典式排序的最简单方法是通过一个转换by
函数:sortrows(A, by=x->(x[3],x[4]))
...但这只是字典中列和两列的升序。 >(X [3], - - X [4])`使用相同的`by`说法,`由= X
julia> A = rand(1:3,6,4)
6x4 Array{Int64,2}:
3 1 1 2
1 1 3 1
1 1 2 1
2 1 3 3
1 3 3 1
2 3 2 3
julia> sortrows(A, lt=(x,y)->isless(x[3],y[3]) || (isequal(x[3],y[3]) && isless(y[4],x[4])))
6x4 Array{Int64,2}:
3 1 1 2
2 3 2 3
1 1 2 1
2 1 3 3
1 1 3 1
1 3 3 1
:为了做爱好者的行为,可以通过定制的比较函数到
sortrows
将做第四列的降序(注意减号)。 –当然,但这只适用于数值数组。 –