목록을 사용하여 데이터 JMP를 필터링/정리하는 방법[팁, JSL, 스크립팅]이렇게 큰 성원을 받고 나니 이제 이 은혜를 갚아야 겠다는 생각이 들었다. 아래에서 데이터 테이블을 더 쉽게 필터링할 수 있는 작은 프로그램을 찾을 수 있습니다. "항목"에 의한 하드 인코딩은 항목을 필터링하는 한 가지 방법입니다. 이것은 지루하고 오타가 발생하기 쉽습니다. 대안은 필터 목록에서 "위치"별로 항목을 필터링하는 것입니다. 이 접근 방식은 필터 목록의 필드 순서가 변경되지 않는다고 가정합니다. 확인하려면 JMP 로그를 확인하십시오. 품질 검사로서, 나는 어떤 항목이 제외되었는지 알려줍니다.
행운을 빌어요
뉴비2점피
names default to here( 1 );
// Open a sample data table
dt = Open( "$SAMPLE_DATA/big class.jmp" );
/* Get entries/levels from Column NAME and store them in NAME_LIST */
NAME_LIST = dt:NAME << get values ;
NAME_LIST ;
/* Remove selected entries ("levels") on given position in list = JMP table */
remove from(NAME_LIST, {1,3,5} ); /* {removes: "KATIE", "JANE", "LILLIE" */
/* Cleans data by removing rows using level list */
dt << Select where(contains(NAME_LIST, :NAME)) ;
dt_2 = dt << subset(selected rows(1), all columns);
/* Results in a subset without the levels "KATIE", "JANE", "LILLIE" */
close (dt, nosave) ;
Re: 목록을 사용하여 데이터 JMP를 필터링/정리하는 방법[팁, JSL, 스크립팅] - 중복에 대해 작동하게 하려면 어떻게 해야 합니까?이를 수행하는 한 가지 방법이 있습니다.유일한 복잡성은 행 번호의 행렬을 목록으로 변환하는 것입니다.
Names Default To Here( 1 );
// Open a sample data table
dt = Open( "$SAMPLE_DATA/big class.jmp" );
/* Get entries/levels from Column NAME and store them in NAME_LIST */
eval(parse("NAME_LIST =as list (" || char(index(1,n rows(dt))) || ")[1];"));
NAME_LIST ;
/* Remove selected entries ("levels") on given position in list = JMP table */
Remove From( NAME_LIST, {1, 3, 5} ); /* {removes: "KATIE", "JANE", "LILLIE" */
/* Cleans data by removing rows using level list */
dt << Select where( Contains( NAME_LIST, Row() ) );
dt_2 = dt << subset( selected rows( 1 ), all columns );
/* Results in a subset without the levels "KATIE", "JANE", "LILLIE" */
Close( dt, nosave );Re: 목록을 사용하여 데이터 JMP를 필터링/정리하는 방법[팁, JSL, 스크립팅] - 중복에 대해 작동하게 하려면 어떻게 해야 합니까?
모두 안녕
지난 금요일에 저는 필터 목록에서 "위치"별로 데이터를 필터링하는 데 도움이 되는 작은 JMP를 제공했습니다.
PM에서 필터 목록에 대해 검색된 항목이 고유한 경우에만 작동한다는 메시지를 받았습니다. 예를 들어, NAME에서 필터링된 모든 항목이 고유한 경우(예: "Katie"를 필터링하려는 경우) "제인" 또는 "릴리".이제 "로버트"는 "BIG CLASS"에 두 번 등장합니다. "Robert"도 제외하려는 즉시 이 접근 방식이 중단됩니다. 그것을 해결하는 방법을 아십니까?
뉴비2점피
names default to here( 1 );
// Open a sample data table
dt = Open( "$SAMPLE_DATA/big class.jmp" );
/* Get entries/levels from Column NAME and store them in NAME_LIST */
NAME_LIST = dt:NAME << get values ;
NAME_LIST ;
/* Remove selected entries ("levels") on given position in list = JMP table */
remove from(NAME_LIST, {1,3,5} ); /* {removes: "KATIE", "JANE", "LILLIE" */
/* Cleans data by removing rows using level list */
dt << Select where(contains(NAME_LIST, :NAME)) ;
dt_2 = dt << subset(selected rows(1), all columns);
/* Results in a subset without the levels "KATIE", "JANE", "LILLIE" */
close (dt, nosave) ;