고유한 값에 대한 숫자 순서는 어떻게 됩니까?다음 Column1이 있고 Column1에 순차적인 반복 횟수를 포함하는 새 열을 만들어야 합니다.
결과 테이블은 다음과 같아야 합니다.
JSL에서 코딩하는 방법에 대한 제안이 있으십니까? (또는 열 수식에서?) 감사합니다!
Re: 고유한 값에 대한 숫자 시퀀스는 어떻게 됩니까?열 수식 방법은 다음과 같습니다.
// define values
Col1Vals = {"a","a","a","a","b","b","c","c","c"};
dt = New Table();
dt << New Column("MyValues",Character,Nominal,<< Set Values(Col1Vals));
// Create Cumulative Frequencies
dt << New Column("CumulativeFreqCount",Numeric,Continuous);
dt:CumulativeFreqCount << Set Each Value(
If(
Row() == 1, 1,
:MyValues == Lag( :MyValues, 1 ), Lag(:CumulativeFreqCount, 1 ) + 1,
1
)); // end set each valueRe: 고유한 값에 대한 숫자 시퀀스는 어떻게 됩니까?사실 그냥 합계가 아니라 누적 합계를 얻고자 하는 부분을 놓쳤습니다.
이를 수행하는 더 똑똑하고 효율적인 방법이 있다고 확신합니다. 그래도 작동합니다.
나는 본질적으로 당신이 테스트하고 가지고 놀 수 있도록 원시 데이터도 생성하고 있습니다.
// define values
Col1Vals = {"a","a","a","a","b","b","c","c","c"};
dt = New Table();
dt << New Column("MyValues",Character,Nominal,<< Set Values(Col1Vals));
// Generate summary
dt1 = dt << Summary( Group( :MyValues ), Freq( "None" ), Weight( "None" ) );
UniqueItems = dt1:MyValues << Get values;
FrequencyOfItems = dt1 << Get As Matrix; <BR /><BR />Close(dt1,"No Save");
// Add Cumulative Frequencies back
dt << New Column("CumulativeFreqCount",Numeric,Continuous);
for(i = 1, i <= N Items(UniqueItems),i++,
Rows = dt << Select Where(:MyValues == UniqueItems[i]) << Get Selected Rows;
ValsToAppend = Transpose(Index(1,FrequencyOfItems[i]));
dt[Rows,"CumulativeFreqCount"] = ValsToAppend;
dt << Clear Select;
); 
Re: 고유한 값에 대한 숫자 시퀀스는 어떻게 됩니까?감사합니다.코드를 JMP 스크립트 파일(첨부파일 참조)에 넣었는데 스크립트가 실행되지 않습니다.어떤 제안?
열 수식에 코드를 넣는 것이 더 쉬울까요?
Re: 고유한 값에 대한 숫자 시퀀스는 어떻게 됩니까?@rs ,
데이터 테이블에 대한 참조가 있다고 가정합니다. dt라고 가정해 보겠습니다.
dt1 = dt << Summary(
Group( :Column 1 ),
Freq( "None" ),
Weight( "None" )
)
데이터가 정렬되지 않은 경우(일반적으로 정렬되어야 함) 결과 테이블에서 sort()를 사용할 수 있습니다.