열에서 가장 빈번한 값의 테이블 하위 집합을 만드는 jsl<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />모두들 안녕,
저는 아직 기본적인 기본 사항을 배우고 있는 신규 사용자이며 일반적으로 검색을 통해 필요한 답변을 찾을 수 있지만 이 문제는 해결되지 않습니다.
선택한 열에서 가장 자주 발생하는 상위 10개 값의 테이블 하위 집합을 만드는 스크립트를 찾고 있습니다. 현재 해결 방법은 요약 테이블을 만들고, 값을 내림차순으로 요약 테이블을 정렬하고, 상위 10개 행을 선택한 다음 첫 번째 테이블로 돌아가서 선택한 행의 하위 집합을 만드는 것입니다. 나는 우아한 해결책이 있다고 확신하지만 그것을 찾을 수 없습니다. 감사해요!
Re: 열에서 가장 빈번한 값의 테이블 하위 집합을 생성하는 jsl안녕 MS,
답변해 주셔서 감사합니다. 원래 게시물에서 제가 관심 있는 데이터는 숫자가 아닌 문자라는 점을 언급했어야 했습니다. 하지만 앞으로는 숫자 데이터로 동일한 요약을 수행해야 하므로 귀하의 답변을 북마크에 추가해 두었습니다.
Re: 열에서 가장 빈번한 값의 테이블 하위 집합을 생성하는 jslJim에게 감사합니다. 완벽하게 작동했습니다.
Re: 열에서 가장 빈번한 값의 테이블 하위 집합을 생성하는 jsl한 가지 대안은 요약 테이블 대신 Summarize()를 사용한 다음 Rank() 함수를 활용하여 정렬 단계를 건너뛰는 것입니다. 불행하게도 요약의 통계 옵션은 숫자 열로 제한됩니다. 따라서 아래 샘플 스크립트는 문자 열에 대해 작동하지 않습니다.
dt = 열려 있는 ( "$SAMPLE_DATA/큰 클래스.jmp" ) ;
N = 삼 ; // 가장 빈번한 값의 Nr
요약하다 ( g = ~에 의해 ( : 나이 ) , 씨 = 세다 ( : 나이 )) ;
dt << 하위 집합 ( 행 ( dt << 어디를 선택하세요 ( 포함 ( 뒤집다 ( g [ 계급 ( 씨 )])[ 1 :: N ] , 숯 ( : 나이 ))))) ;
Re: 열에서 가장 빈번한 값의 테이블 하위 집합을 생성하는 jsl샘플 데이터 테이블이 너무 작기 때문에 상위 5개 선택 항목만 사용하여 작동하는 샘플 스크립트는 다음과 같습니다.그러나 나는 그것이 어떻게 작동하는지 볼 수 있다고 생각합니다.
이름의 기본값은 여기입니다. ( 1 );
dt= 열려 있는 ( "$SAMPLE_DATA/큰 클래스.jmp" );
dtsumm = dt << 요약 (
그룹( :높이 ),
주파수( "없음" ),
무게( "없음" )
);
쯧쯧 << 종류 ( 기준( :N 행 ), 순서( 내림차순 ), 테이블 바꾸기( 1 ) );
쯧쯧 << 어디를 선택하세요 ( 열 ()> 5 )
쯧쯧 << 행 삭제 ;
dt최종 = dt << 가입하다 (와(dtsumm) ,
열 일치를 통해( :height = :height ),
배수 삭제( 0 , 0 ),
불일치 포함( 0 , 0 ),
메인 테이블 순서 유지( 1 )
);