루프를 생성하고 하위 집합 테이블에 열을 추가하고 특정 열 값에 따라 값을 추가하는 방법은 무엇입니까?안녕하세요 여러분, 저는 테이블 하위 집합을 가지고 있습니다
질문이 두 가지 있습니다.
1. 모든 하위 집합 테이블에 열 "Ref"를 추가하는 루프를 어떻게 생성할 수 있습니까?
2. 또한 생성된 열의 값이 특정 값을 갖는 N개 행의 가장 많은 개수를 기준으로 하는 것이 가능합니까?
예를 들어, 추가할 새 열 은 Ref 입니다. 열 Ref의 값은 열 Country를 기반으로 하며, America만의 가장 높은 N 행 값에 1을 더해야 합니다.
| 국가 | N 행 | 참조 |
| 아르헨티나 | 4 | |
| 미국 | 0 | |
| 미국 | 5 | 1 |
| 브라질 | 2 | |
| 브라질 | 4 | |
| 캐나다 | 2 | |
사랑
자동화 및 스크립팅윈도우Re: 하위 집합 테이블에 열을 추가하고 특정 열 값에 따라 값을 추가하는 방법?"열 하위 집합"에 대한 당신의 정의가 무엇인지 잘 모르겠습니다. 당신이 언급하는 것은, 에서 생성된 데이터 테이블입니다.
테이블 => 서브세트
Subset By가 체크된 경우

선택된 변수의 각 수준에 대해 별도의 표가 만들어집니까?
Re: 하위 집합 테이블에 열을 추가하고 특정 열 값에 따라 값을 추가하는 방법?테이블의 하위 집합을 만든 후에 모든 하위 집합 테이블에 "Ref" 열을 추가하는 루프를 어떻게 만들 수 있습니까?
*질문을 다시 표현하겠습니다.
Re: 하위 집합 테이블에 열을 추가하고 특정 열 값에 따라 값을 추가하는 방법?루핑을 수행하는 한 가지 방법의 예는 다음과 같습니다. 실제 문제는 테이블 목록을 루핑하는 방법입니다. 이 예에서는 다음을 가정합니다.
테이블 => 서브세트
Subset By를 사용하여
names default to here(1);
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
dtSubsetList = dt << Subset(
By( :sex ),
All rows,
Selected columns only( 0 ),
columns( :name, :age, :height, :weight )
);
for each( {table}, dtSubsetList,
table << new column( "Ref");
wait(0);
table:ref[table << get rows where( :age == col max(:age))]=1;
);Re: 하위 집합 테이블에 열을 추가하고 특정 열 값에 따라 값을 추가하는 방법?내 데이터가 이렇게 보인다면 어떨까요? Country 열이 문자 유형인데, 가장 높은 N 행을 어떻게 얻을 수 있을까요? 미국에서 가장 높은 N 행을 얻는다고 가정합니다. 제시하신 예에서 숫자 데이터 유형인 것 같습니다.
| 국가 | N 행 | 참조 |
| 아르헨티나 | 4 | |
| 미국 | 0 | |
| 미국 | 5 | 1 |
| 브라질 | 2 | |
| 브라질 | 4 | |
| 캐나다 | 2 | |
Re: 하위 집합 테이블에 열을 추가하고 특정 열 값에 따라 값을 추가하는 방법?나는 이와 비슷한 것이 당신에게 필요할 것이라고 가정합니다.
table:ref[table << get rows where( :Country == "America" & :N Rows == col max(:N Rows, :Country))]=1;
JSL을 배우려면 스크립팅 가이드를 읽을 시간을 내는 것이 좋습니다. 프로그래밍과 적어도 하나의 프로그래밍 언어에 익숙하지 않다면 인터넷에서 "프로그래밍 방법 배우기"에 대한 무료 과정을 검색하는 것이 좋습니다.