<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕,
데이터 테이블을 열고(예를 들어 Big Class.jmp를 사용하지만 모든 테이블에 대해 이 작업을 수행하고 싶습니다) 각 열에 대한 요약 테이블을 생성하여 각 열에 대해 누락되지 않은 값의 수를 반환하려고 합니다(표에 표시된 대로). 아래에).
| N 행 | 엔(이름) | N(나이) | 엔(성별) | N(높이) | N(무게) |
|---|
| 40 | 40 | 40 | 40 | 40 | 40 |
나는 이에 대해 두 가지 다른 접근 방식을 시도했지만 성공하지 못했습니다(JMP 9.0.3 64비트를 사용하고 있습니다).
첫 번째 예에서는 구문 분석된 문자열 {N(:name),N(:age),N(:sex),N(:height),N(:weight)} 목록을 Summary()에 전달하려고 합니다. 그러나 이것을 실행하면 N개의 행이 있는 요약 테이블만 생성됩니다.
실시예 1
///////////////////////////////////////////////// //////////////////////////////
열기( "$SAMPLE_DATA/Big Class.jmp" );
dt = 현재 데이터 테이블();
colList = dt<<열 이름 가져오기();
icols = N개 항목(colList);
합계목록={};
for(i=1, i<=icols, i++,
Insert Into(sumList, pars("N(:" || char(colList) ) || ")"))
);
summDt = dt<
///////////////////////////////////////////////// //////////////////////////////
그런 다음 표현식을 정의하고 구문 분석된 문자열(N(:name),N(:age),N(:sex),N(:height),N(:weight))을 전달하려고 했습니다. 그런데 이 표현식을 평가하려고 하면 다음과 같은 결과가 나옵니다.
예상치 못한 ",". 아마도 ";"가 누락되었을 수 있습니다. 또는 ",".
1행 9열: N(:이름)►, N(:나이), N(:성별), N(:신장), N(:체중)
무시된 나머지 텍스트는 다음과 같습니다.
실시예2
///////////////////////////////////////////////// //////////////////////////////
열기( "$SAMPLE_DATA/Big Class.jmp" );
dt = 현재 데이터 테이블();
colList = dt<<열 이름 가져오기();
icols = N개 항목(colList);
MyExpr = expr(summDt = dt<
for(i=1, i<=icols, i++,
if(i==1, strColumns = "N(:" || char(colList ) || ")", strColumns = strColumns || ", N(:" || char(colList ) || ")")
);
//확인을 위해 위를 우회합니다.
//strColumns = "N(:이름)"; //하나의 열에 대해서는 작동하지만 두 개 이상의 열을 전달하려고 하면 오류가 발생합니다(예: "예기치 않은 ",". 아마도 ";"가 누락되었을 수 있습니다. 또는 ",".")
테스트 = 평가 Expr(MyExpr);
시험;
///////////////////////////////////////////////// //////////////////////////////
내가 뭔가 어리석은 짓을 하고 있는 게 틀림없어.
어떤 조언이나 도움이라도 대단히 감사하겠습니다.
감사합니다.
이 예는 작동하는 것으로 보이며 도움이 될 수 있습니다.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
colList = dt << 열 이름 가져오기();
dtsum = dt << Summary(Mean( Eval( colList ) ) );