열 이름 목록을 기반으로 수식 열 추가안녕하세요! 열 이름에 올바른 키워드가 포함되어 있는지 여부에 따라 수식 열을 생성하는 스크립트를 만들려고 합니다. 목록이 문자열을 다른 함수로 변환하는 방식을 잘못 사용하고 있는 것 같습니다. 현재 JMP 17을 사용 중입니다.
Ptable = Current Data Table ();
col list = Ptable << Get Column Names(String);
if(debug == 1, Print(col list));
For(i=1, i<NCOLS></NCOLS>
<LINGO-LABS id="lingo-labs-724835" slang="en-US" mode="CREATE"><LINGO-LABEL>자동화 및 스크립팅</LINGO-LABEL></LINGO-LABS>Re: 열 이름 목록을 기반으로 수식 열 추가거기에서 열을 올바르게 평가해야 합니다. Expr(NameExpr(AsColumn()))은 하나의 옵션입니다.
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
mycol1 = "height";
mycol2 = "weight";
Eval(EvalExpr(
new_col = dt << New Column("Col", numeric, continuous, formula(
Expr(NameExpr(AsColumn(dt, mycol1))) * Expr(NameExpr(AsColumn(dt, mycol2)))
))
));
show(new_col << get formula);
Eval Insert, Eval Expr, Parse 및 Substitute를 사용하여 하나의 표현식을 다른 표현식에 삽입합니다.
Re: 열 이름 목록을 기반으로 수식 열 추가괜찮아요! 문제는 제 배열 clist가 열 이름을 목록으로 가져오지 않는다는 거였어요!
@jthi 열 이름을 지정할 때도 표현식 평가가 필요한가요? 공유하신 페이지에서는 Char(Array[#])를 사용한 Concat 함수는 잘 작동하는 것으로 나타났지만, 아래 코드처럼 열 이름을 바꾸려고 하면 오류가 발생합니다. 열을 추가하지 않았는데, For 루프의 N 열과 카운터 사이에 불일치가 발생하는 이유를 잘 모르겠습니다.
clist = Ptable << Get Column Names( String );
num_col = N Cols(Ptable);
For(i=3, i < num_col, i++,
Column(i) << Set Name(Char(clist[i]) || " °C"); //Error on this line
);
"clist[ /*###*/i]', clist[/*###*/i]의 접근 또는 평가에서의 하위 첨자 범위"