수식에서 열 목록 사용열 대화 상자에서 반환된 열 목록(예: {:sex, :age: name})을 직접 사용하려고 할 때 "문제"가 발생했습니다. byVars를 사용하여 Col 수식(Col Mean, Col Sum...)에서 해당 목록을 직접 사용하려고 하면 수식이 올바르게 작동하지 않습니다. 예를 들어 Sum() 수식과 함께 목록을 사용하면 문제가 없습니다. 이는 의도된 동작이며 아래 예제보다 열 목록에서 ColSum을 작성하는 더 깔끔한 방법을 가진 사람이 있습니까?
다음은 Sum() 및 ColSum() 수식이 포함된 예제 스크립트입니다. ColSum() 수식을 작성하려고 시도했지만 식과 EvalParse를 사용하여 Insert Into로만 작동하도록 하는 방법에는 여러 가지가 있습니다(디버깅의 번거로움 때문에 피하려고 노력할 것입니다).
예:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("Sum", Numeric, "Continuous", Format("Best", 12), Formula(Sum(:height, :weight)));
listOfCols = {:height, :weight}; //list works here
dt << New Column("SumList", <<FORMULA></FORMULA>
고급 통계 모델링자동화 및 스크립팅데이터 혼합 및 정리실험 설계품질 및 프로세스 엔지니어링Re: 수식에 열 목록 사용다시 한 번 JMP Discovery Summit 전문가를 만나보세요! 홉으로 자동화 및 고객 소규모 회의실을 위한 스크립팅 @EvanMcCorkle 내 반복 삽입 및 평가 구문 분석보다 훨씬 더 깨끗한 솔루션이 있었습니다. 에스 ColSum을 사용하여 listOfCols 주변의 목록을 대체합니다.
listOfCols = {:height, :age, :sex}; //won't work here
f = Substitute(listOfCols, Expr(list), Expr(ColSum));
Show(f); //f = ColSum(:height, :age, :sex);Col Sum() 함수가 열 목록에서 작동하는 방식이 확실하지 않지만 이 솔루션은 깔끔하고 간단합니다.
Re: 수식에 열 목록 사용안녕 @jthi ,
의도한 것인지 아닌지는 확실하지 않지만 목록 대괄호, {} 및 목록의 항목 수와 확실히 관련이 있습니다. 설명하신 것과 동일한 문제를 재현할 수 있었습니다.
Insert In을 수행하는 솔루션이 최선의 선택이라고 생각합니다. Parse는 매우 복잡하고 어려울 수 있습니다. 나는 당신이 삽입에 대한 좋은 해결책을 가지고 있다고 생각하며 목록 대괄호 문제를 해결하기 위해 그것을 고수하는 것이 가장 좋습니다.
DS