JMP JSL에서 :column_name을 변수로 바꾸는 방법은 무엇입니까?@jthi 아래 코드 오류를 수정하는 데 도움을 주실 수 있나요? 변수를 사용하여 :column 이름을 올바른 방식으로 대체하는 방법은 무엇인가요? 도와주셔서 정말 감사합니다.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
hvar = "height";
gvar = "sex";
std = Col Std Dev( if(Excluded( Row State() ) == 0 & column(gvar) =="M", column(hvar) ));
//std = Col Std Dev( if(Excluded( Row State() ) == 0 & :sex =="M", column(hvar) ));
show(std);
자동화 및 스크립팅윈도우Re: JMP JSL에서 :column_name을 변수로 바꾸는 방법은?정말 고맙습니다. 이게 아주 잘 됩니다.
Re: JMP JSL에서 :column_name을 변수로 바꾸는 방법은?대체 방법은 사용 사례에 따라 달라지는데, 귀하의 경우 @pmroz가 제안한 대로 AsColumn을 사용하는 것이 가장 쉬운 옵션입니다.
몇 가지 링크
아래에는 몇 가지 다른 옵션이 있지만 이러한 유형의 경우에는 일반적으로 불필요한 추가 스크립팅이 필요합니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
hvar = "height";
gvar = "sex";
// As Column
std = Col Std Dev(If(!Excluded(Row State()) & As Column(dt, gvar) == "M", As Column(dt, hvar)));
// Data table subscripting
// https://community.jmp.com/t5/Uncharted/Data-table-subscripting/ba-p/21013
rows_of_interest = dt << Get Rows Where(Excluded(Row State()) == 0 & Column(gvar)[] == "M");
std2 = Std Dev(dt[rows_of_interest, hvar]);
// Build and evaluate expression
// https://community.jmp.com/t5/JSL-Cookbook-Archived/Insert-one-expression-into-another-using-Eval-Insert-Eval-Expr/ta-p/48998
std3 = Eval(Substitute(
Expr(Col Std Dev(If(!Excluded(Row State()) & groupcol == "M", numcol))),
Expr(groupcol), Name Expr(AsColumn(gvar)),
Expr(numcol), Name Expr(AsColumn(hvar))
));
// Check
std4 = Col Std Dev(If(Excluded(Row State()) == 0 & :sex == "M", :height));
show(std, std2, std3, std4);
Re: JMP JSL에서 :column_name을 변수로 바꾸는 방법은?Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
hvar = "height";
gvar = "sex";
std = Col Std Dev( if(!Excluded( Row State() ) & as column(dt, gvar) == "M", as column(dt, hvar) ));
//std = Col Std Dev( if(Excluded( Row State() ) == 0 & :sex =="M", column(hvar) ));
show(std);
때로는 "as column"을 사용해야 합니다. 때로는 "column"만 사용해야 합니다.