행에서 반복되는 값의 숫자 순서를 분석하는 방법은 무엇입니까?안녕하세요,
저는 스웨덴의 몇몇 사람들 중 JMP를 사용하는 사람들 중 한 사람입니다. 반면에 대부분의 학업 동료들은 SPSS를 사용합니다. 그러나, 나는 JMP를 좋아하고 그것으로 수술에 70 개의 기사를 출판 했으므로 나에게 잘 맞습니다. 나는 부교수이며 자신을 진보 된 JMP 아마추어로 묘사하지만 다소 문제가있을 수있는 문제가 하나 있습니다. 이전에이 질문을 게시했지만 포럼의 답변을 정확히 이해하지 못했습니다. 문제는 다음과 같습니다.
나는 전화 한 파일이있다. 결과 .
이 파일에는 다음과 같은 열이 있습니다. 5700 숫자 다음과 같은 순서로 정렬됩니다.
Nr
3456
3666
3687
3687
3687
5444
5444
5445
나는 스크립트를 어떻게 작성해야하는지, 또는 반복적 인 숫자의 순서를 얻기 위해 여분의 열에 아무것도 써야하는지에 대한 정보를 고맙게 생각합니다. 그 이유는 내가 첫 번째 nr에만 관심이 있기 때문입니다. 주문을받을 수 있다면 주문 1만으로 이루어진 별도의 파일을 만들 수 있습니다.
처럼
Nr 주문
3456 1
3666 1
3687 1
3687 2
3687 3
5444 1
5444 2
5445 1
나는 아마추어이므로 간단한 답으로 답을 쓸 수 있다면 고맙겠습니다.
감사합니다.
라스 Enochsson
준 교수
Umeå University
스웨덴
제목 : Re : 어떻게 행의 반복 가치의 숫자 순서를 분석?감사. 훌륭한 도움. 이것으로 문제가 해결되었습니다 ./Lars제목 : Re : 어떻게 행의 반복 가치의 숫자 순서를 분석?단! by 변수가있는 ColRank ()는 JMP 13까지 사용할 수 없었습니다.
참고로, 다음은 성능을 확인하는 스크립트입니다. 1,000,000 개 이상의 행이 있으면 lags를 정렬하고 사용하는 것이 좋습니다.
Names Default to Here(1);
dt = New Table("Test It", add rows(6000),
New Column("Nr", numeric, continuous,<<SET each="" value=""></SET><BR /> 6000 행의 경우, Col Rank () = 3.13 * lags를 사용하여
t1 - t0 = 18836;
t3 - t2 = 1863;
t5 - t4 = 4161;
1,000,000 행의 경우, 차분을 사용하여 Col Rank () = 2.45 *를 사용합니다.
t1 - t0 = 1521679;
t3 - t2 = 694813;
t5 - t4 = 621142;
* /
제목 : Re : 어떻게 행의 반복 가치의 숫자 순서를 분석?열 수식을 콜 순위 () 함수를 by by variable 사용하면 ColRank에서 변수에 대한 지원이 처음 소개되었을 때 JMP 13 이상이 필요할 수 있습니다.
아래 스크립트를 사용해보십시오. 이전 솔루션과 동일한 결과를 제공해야합니다. 그러나 정렬에 의존하지 않습니다.
Current Data Table() << New Column("Order", Formula(Col Rank(:Nr, :Nr)));
(스웨덴의 또 다른 JMP 사용자)
제목 : Re : 어떻게 행의 반복 가치의 숫자 순서를 분석?열 Nr은 정렬 된 순서이므로 열 수식을 사용하여 수행 할 수 있습니다. 수식을 표시하기 전에 주 메뉴> 도움말> 스크립팅 색인> 함수> 행을 보거나 래그를 찾아야합니다. Count라는 열을 만들고이 수식을 추가했습니다. 기본적으로 첫 번째 행의 개수는 1입니다. 두 번째 조건 : Nr == Lag (: Nr, 1)은 현재 행이 이전 행과 동일한 경우 조건이며, 이전 개수 인 Lag (: Count, 1)을 가져 와서 증가시킵니다. 그렇지 않으면 수는 1입니다.
If(
Row() == 1, 1,
:Nr == Lag( :Nr, 1 ), Lag( :Count, 1 ) + 1,
1
)
참고 JMP 지연은 숫자뿐만 아니라 텍스트에서도 작동합니다. 그러나 텍스트 열이있는 경우 함수를 수정하는 것이 좋습니다.
If(
Row() == 1, 1,
Trim( Lowercase( :txtCol ) ) == Trim( Lowercase (Lag( :txtCol, 1 ) ) ) , Lag( :Count, 1 ) + 1,
1
)
희망이 도움이됩니다.