행렬 정렬모두,
아래에 표시된 것과 유사한 기능을 달성하는 방법이 있습니까?
A = [10 -12 4 8; 6 -9 8 0; 2 3 11 -2; 1 1 9 3]
정렬할 때 요소의 원래 위치를 어떻게 유지할 수 있습니까?
예를 들어 행렬의 각 열을 정렬하려면 다음 작업만 수행할 수 있습니다.
for(i = 1, i <= N cols(A), i ++,
t = A[0,i];
t1 = sort descending(t);
);이제 요소의 원래 위치를 결정하고 유지하려면 어떻게 해야 합니까?
https://www.mathworks.com/help/matlab/ref/sort.html - Matlab에는 인덱스를 반환하는 정렬 함수에 대한 두 번째 인수가 있습니다.
마찬가지로 R에서 인덱스를 유지할 수 있습니다. JMP에서 가장 좋은 방법이 무엇인지 궁금하십니까?
Re: 행렬 정렬@Mark_Bailey ,
고맙습니다. 이를 위한 미리 준비된 기능을 제공하기 위해 위시리스트에 요청을 제출할 것입니다.앞으로 JMP가 행렬을 반복하지 않아도 되는 방법을 제시할 수 있기를 바랍니다. R의 apply() 함수 패밀리가 JMP에 도입되는 것을 보고 싶습니다.
Re: 행렬 정렬이 적응은 다음과 같이 작동해야 합니다.
A = [10 -12 4 8; 6 -9 8 0; 2 3 11 -2; 1 1 9 3];
sort matrix = Function( { m }, { t, b=[], i=[] },
For( j = 1, j <= N Cols( m ), j++,
t = A[0,j];
b ||= Sort Descending( t );
i ||= Matrix( Reverse( As List( Rank Index( t ) ) ) );
);
Eval List( { b, i } );
);
{ B, I } = sort matrix( A );
Show( A, B, I );
Re: 행렬 정렬@Mark_Bailey & @txnelson ,
Rank() 가 내가 원하는 것을 하는 것이 명백해 보인다는 것을 이해합니다. 그러나 여기에 내가 요청하는 이유의 예가 있습니다.
Matlab에서 행렬을 정렬하려고 하면 다음과 같은 일이 발생합니다. 다른 플랫폼에서 이 예제를 가져와서 죄송합니다. 그렇게 하지 않으려고 노력했지만 제가 추구하는 바를 설명할 더 좋은 방법이 생각나지 않습니다. 따라서 "I"의 값을 보면 인덱스가 유지됩니다.

이제 JMP에서 똑같은 작업을 수행하고 싶다면 이것이 당신이 나에게 권장하는 방식입니까? 그렇습니다. 동일한 결과를 얻지는 못합니다. 또한 이와 같은 루프를 사용하지 않아도 된다면 감사하겠습니다.
A = [10 -12 4 8; 6 -9 8 0; 2 3 11 -2; 1 1 9 3];
for(i = 1 , i <= N Cols(A), i++,
t = A[0,i];
t1 = Sort Descending(t);
ranks = Rank(t);
);
Re: 행렬 정렬음, 랭킹 비트...
Re: 행렬 정렬@txnelson ,
나는 당신이 여기에서도 다루는 내용을 언급하고 있다고 생각합니다. https://www.jmp.com/support/help/14/ranking-and-sorting.shtml . 그러나 이것은 정렬을 수행하는 동안 찾고 있는 인덱스 캡처로 확장되지 않습니다. 바라건대, 나는 뭔가를 놓치고 있지 않습니다.
Re: 행렬 정렬스크립팅 가이드의 "데이터 구조, 행렬" 섹션에서 "순위 및 정렬"을 살펴보세요.