특정 행 집합에 대해서만 작동하도록 for 루프를 어떻게 조건화합니까?안녕,
수식을 사용하여 데이터 테이블을 조작하려고 하는데, 몇 행만 읽도록 하고 싶습니다.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Cars.jmp" );
r = Current Data Table() << Get rows where( :Make == "Mazda");
For( i = r[1], i <= r, i++,
:HeadIC[i] = :HeadIC[i]/2
);
Show(r);
선택한 행에 대해서만 반복되도록 하려면 어떻게 해야 하나요?
소비자 및 시장 조사대량 맞춤화Re: for 루프가 특정 행 집합에 대해서만 작동하도록 조건을 지정하는 방법이와 같이?
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Cars.jmp" );
For Each Row( If ( :Make == "Mazda", :HeadIC = :HeadIC/2 ));
(포매팅에 대해 유감스럽게 생각하지만 이러한 "스크립트 삽입" 버튼이 작동하지 않는 것 같습니다...)
Re: for 루프가 특정 행 집합에 대해서만 작동하도록 조건을 지정하는 방법귀하의 예에서는 행 번호로 벡터를 만들었으므로 "For Each()"를 사용할 수도 있습니다.이것은 특히 더 큰 데이터 테이블(5개 행 포함)의 경우 더 빠릅니다.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Cars.jmp" );
r = Current Data Table() << Get rows where( :Make == "Mazda");
for each({cr,ii}, r,
:headic[cr] = :headic[cr]/2
);
Re: for 루프가 특정 행 집합에 대해서만 작동하도록 조건을 지정하는 방법저를 위해 이것을 설명해주세요:
for each({cr,ii}, r,
:headic[cr] = :headic[cr]/2
);
// specifically, where do {cr,ii} come from and what do they do?
코더가 아닙니다. 스크립팅 인덱스에서 이것을 찾을 수 없습니다. 아직 스크립팅 가이드를 확인하지 않았습니다.
Re: for 루프가 특정 행 집합에 대해서만 작동하도록 조건을 지정하는 방법안녕하세요, 그 기능을 어떻게 사용하는지 잘 모르겠습니다. 스크립팅 색인에서 찾을 수 없습니다. 예를 들어 주시겠습니까? 알려주신 코드를 실행하려고 하면 오류가 뜹니다.
Re: for 루프가 특정 행 집합에 대해서만 작동하도록 조건을 지정하는 방법For Each()는 JMP16에 도입된 새로운 기능이므로 이전 버전의 JMP를 사용하는 경우 스크립팅 인덱스에서 찾을 수 없으며 오류가 발생합니다. 다음을 원하면 for-loop으로 변환할 수 있습니다.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Cars.jmp" );
r = Current Data Table() << Get rows where( :Make == "Mazda");
/*For Each({cr,ii}, r,
:headic[cr] = :headic[cr]/2
);*/
For(ii = 1, ii <= N Items(r), ii++,
cr = r[ii];
:headic[cr] = :headic[cr]/2;
);
For Each(이름, 컨테이너, 지역 주민, 본문) (jmp16 도움말)
Re: for 루프가 특정 행 집합에 대해서만 작동하도록 조건을 지정하는 방법이상하다. 둘 다 나를 위해 잘 작동합니다. 각 솔루션의 전체 코드를 별도의 스크립트 창에 다시 게시해 보십시오. 다른 모든 것을 닫습니다. 먼저 하나의 스크립트 창에서 코드를 실행하여 코드가 수행해야 하는 작업을 수행하는지 확인합니다. 그런 다음 여전히 테스트해야 하는 코드가 포함된 다른 스크립트 창을 제외하고 모든 것을 다시 닫습니다.