Wolfram mathematica 相等的价值=相等的等级
我希望对列表中的元素进行排序,以便具有相同值的元素也获得相同的排序:Wolfram mathematica 相等的价值=相等的等级,wolfram-mathematica,Wolfram Mathematica,我希望对列表中的元素进行排序,以便具有相同值的元素也获得相同的排序: list = {1, 2, 3, 4, 4, 5} 期望输出: ranks = {5, 4, 3, 2, 2, 1} Ordering[]几乎实现了我想要的功能,但为列表中4的两个实例分配了不同的等级。我不确定我是否涵盖了您想到的所有内容,但下面的代码将给出所需的输出。它假定最小的值是最高的秩,并且应该与数值一起工作,或者只要您对Mathematica的标准排序顺序没有异议。局部变量dv是“不同值”的简称 我不确定我是否涵
list = {1, 2, 3, 4, 4, 5}
期望输出:
ranks = {5, 4, 3, 2, 2, 1}
Ordering[]
几乎实现了我想要的功能,但为列表中4
的两个实例分配了不同的等级。我不确定我是否涵盖了您想到的所有内容,但下面的代码将给出所需的输出。它假定最小的值是最高的秩,并且应该与数值一起工作,或者只要您对Mathematica的标准排序顺序没有异议。局部变量dv是“不同值”的简称
我不确定我是否涵盖了您想到的所有内容,但下面的代码将给出所需的输出。它假定最小的值是最高的秩,并且应该与数值一起工作,或者只要您对Mathematica的标准排序顺序没有异议。局部变量dv是“不同值”的简称
FromListToRanks[k_List]:= Module[ {dv=Reverse[Union[k]]},
k /. Thread[dv -> Range[Length[dv]]] ]
FromListToRanks[list]
{5,4,3,2,2,1}