데이터 테이블 필터링안녕하세요,
다음 코드를 참조하십시오.
dt = Open( "$sample_data/big class.jmp" );
ages = Data Table( "big class" ) << Summary( Group( :age ), Freq( "None" ), Weight( "None" ) );
sexes = Data Table( "big class" ) << Summary( Group( :sex ), Freq( "None" ), Weight( "None" ) );
For( iage = 1, iage <= N Rows( ages ), iage++,
thisAge = ages:age[iage];
For( isex = 1, isex <= N Rows( sexes ), isex++,
thisSex = sexes:sex[isex];
Eval(
Eval Expr(
gb = dt << Graph Builder(
Size( 508, 438 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 5 ) ) ),
where( age == Expr( thisAge ) & sex == Expr( thisSex ) )
)
)
);
제발 나를 Eval (Eval Expr)의 목적으로 explane 해주세요.
감사!
다시 : 데이터 테이블 필터링여보세요,
Eval Expr () 함수는 해당 인수에서 Expr () 함수를 검색합니다. Expr ()을 찾으면 인수를 평가하여 값으로 바꿉니다. 외부 Eval ()은 평가 및 대체가 발생한 후 전체 표현식을 평가합니다.
예를 들어 스크립트 발췌문에서 iage가 1이고 isex가 1 일 때 Eval ()에 의해 평가되는 코드는 JMP와 같습니다.
gb = dt << Graph Builder(
Size( 508, 438 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 5 ) ) ),
where( age == 12 & sex == "F" )
)
위의 Where () 절에는 변수 값이 있습니다.
나는 당신이 그 기사를 보도록 권장한다. 표현 처리 함수 : 제 1 부 - Expr (), NameExpr (), Eval (), ... 전개 수수께끼 Joseph Morgan이 훨씬 더 철저한 설명을했습니다.
이것이 도움이되기를 바랍니다!
웬디
다시 : 데이터 테이블 필터링코드 행
where( age == Expr( thisAge ) & sex == Expr( thisSex ) )
메모리 변수가 라인에 임베드되어 있습니다.
Eval Expr (.........)
표현식에서 모든 코드를 사용한다.
gb = dt << Graph Builder(
Size( 508, 438 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 5 ) ) ),
where( age == Expr( thisAge ) & sex == Expr( thisSex ) )
)
이 경우에는 기본적으로 변수 "thisAge"및 "thisSex"를 현재 값으로 대체한다는 것을 의미 할 것입니다.
외부 Eval ()은 Eval Expr의 결과를 취하여 해당 코드를 실행합니다.