在数字和文本同时存在的情况下,如何才能实现正确的排序?如下面的 JSL 所示,当只有数字时,按升序排序可以正常工作;但是,当与文本混合时,在排序之前转换为数字会导致问题。可以使用哪些方法来解决此问题?
stepList = {"2", "3", "10", "9", "1"};
stepListSort = Sort List( stepList );
stepListNum = {};
For( i = 1, i <= N Items( stepList ), i++,
Insert Into( stepListNum, Num( stepList[i] ) )
);
stepListNumSort = Sort List( stepListNum );
stepListWithString = {"2", "3", "10_New", "9", "1"};
stepListWithStringSort = Sort List( stepListWithString );
Show( stepListWithSting );
stepListNum = {};
For( i = 1, i <= N Items( stepList ), i++,
Insert Into( stepListNum, Num( stepListWithString[i] ) )
);
stepListWithStringNumSort = Sort List( stepListNum );基础数据分析与建模回复:在同时存在数字和文本的情况下,我们如何才能实现正确的排序?JMP 在不同的地方使用不同的排序方式(至少有一篇我的旧帖子询问了这个问题,但可能很难找到)。您可以尝试通过数据表
Names Default To Here(1);
stepListWithString = {"2", "3", "10_New", "9", "1"};
dt = New Table("A",
New Column("A", Character, Nominal, Values(stepListWithString))
);
dt << Sort(By(:A), Replace Table, Order(Ascending));
stepListWithStringSort = dt[0, 1];
Close(dt, no save);
show(stepListWithStringSort);
// stepListWithStringSort = {"1", "2", "3", "9", "10_New"};