좋은 아침,
누군가가이 코드 부분을 디버깅하도록 도울 수 있습니다.
코드는 현재 데이터 테이블에 대한 대화 상자 창을 열어야합니다.
대화 상자에서 선택한 숫자 열에 대해 스크립트는 자신의 열의 평균과 빈 셀을 impute해야합니다 ...
하지만 왜 어떤 이유로 든 이해가 안 돼요.
dt = 현재 데이터 테이블 ();
cd = 열 대화 상자 (
Myregcol_x = Collist ( "열 선택 >>", MinCol (1)),
Hlist ( ""),
);
regcol_x = cd [ "Myregcol_x"];
nitems = N 항목 (regcol_x);
colname_num = {};
(p = 1, p <= nitems, p ++,
colname_num = regcol_x [p] << Get Data Type;
if (colname_num == "Numeric",
(i = 1, i <= N 개의 항목 (regcol_x), i ++,
valuess = 열 (regcol_x) << 값 가져 오기 (1);
valuess [Loc (누락 됨 (valuess))] = 평균 (값);
열 (regcol_x) << setvalues (valuess, cc [i]);
);
);
);
미리 감사드립니다.
지안 파올로
2 For 루프 사용시 논리 오류가 발생했습니다. 한 번에 하나의 열에서 스크립트를 단순화하여 두 번째 For 루프를 제거했습니다.
Names Default To Here( 1 );
dt = Current Data Table();
cd = Column Dialog( Myregcol_x = Collist( " Select columns >>", MinCol( 1 ) ), Hlist( "" ), );
regcol_x = cd["Myregcol_x"];
nitems = N Items( regcol_x );
colname_num = {};
For( p = 1, p <= nitems, p++,
colname_num = regcol_x[p] << Get Data Type;
If( colname_num == "Numeric",
valuess = Column( regcol_x[p] ) << get values;
valuess[Loc( Is Missing( valuess ) )] = Mean( valuess );
Column( regcol_x[p] ) << setvalues( valuess, cc[p] );
);
);