JMP16을 사용하여 JSL을 배우기 시작했습니다.
선택된 행으로 부분집합 데이터 테이블을 생성하는 스크립트를 작성하려고 하면 선택 기준은 column(7)의 숫자 값으로 정의됩니다.
다음 스크립트의 백본은 "테이블" 탭에서 실행되는 "서브셋"에서 가져온 것입니다.
Data Table( "Subset of 200 kinome all excel" ) <<
Subset(
Linked,
selected rows only(0),
row selection (select where (as column(7) >0.3) );
Selected columns only(0),
);
위 스크립트의 선택이 작동하지 않았습니다. 부분집합 테이블은 원본 테이블과 동일합니다.
내가 놓친 게 무엇입니까?
감사 해요
몇 가지 작은 문제가 있습니다.
- Selected Rows Only()를 켜야 합니다.
selected rows only( 1 ),
- ";" 행 선택이 끝나면 부분 집합이 종료됩니다.","이어야 했습니다.
row selection( select where( As Column( 7 ) > 0.3 ) ),
다음은 전체 코드입니다.
Data Table( "Subset of 200 kinome all excel" ) << Subset(
Linked,
selected rows only( 1 ),
row selection( select where( As Column( 7 ) > 0.3 ) ),
Selected columns only( 0 ),
);
나는 이 접근 방식을 전혀 사용하지 않을 것이며 내 컴퓨터에서 작동하지 않습니다(여전히 하위 집합의 모든 행과 오류/메시지가 발생하지 않음).
Names default to here(1);
dt=open("$SAMPLE_DATA\Big Class.jmp");
Data Table( dt ) << Subset(
Linked,
selected rows only( 1 ),
row selection( select where( As Column( 2 ) > 13 ) ),
Selected columns only( 0 ),
);
그 이유는 "하위 집합"에 대한 문서에서 "행 선택"과 같은 옵션을 찾을 수 없었기 때문입니다.
, [number, number, ...])>,
보다: 데이터 테이블 부분 집합(jmp.com)
그리고 위험은 알 수 없는 매개변수가 오류를 발생시키지 않아 디버그하기 어렵다는 것입니다.
또한 해당 하위 집합 문 내에서 행을 선택할 때 하위 집합보다 먼저 선택이 수행되는지 확신할 수 없으므로 안정적으로 보이지 않습니다.
내 솔루션은 하위 집합 문 앞에 행을 선택하거나 행 번호를 명시적으로 선택하여 아래와 같이 선택하는 것입니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
Data Table( dt ) << Subset(
Linked,
rows( /* explicit rows [1,2,3] or conditionally: */ Loc( (dt:age << get values) > 16 ) ),
Selected columns only( 0 ),
);