안녕 모두,
JMP에 마지막 또는 이전 관찰을 사용하여 누락된 값을 채우는 기능이 있습니까?
감사해요,
아지자
필다운 스크립트에 그룹화 변수를 처리하는 방법에 대한 제안 사항이 있습니까?
group_by 열이 "grpcol"이라고 가정
Group By(:grpcol); 줄을 추가해 보았습니다. Group By 액세스 또는 평가에서 "이름이 해결되지 않음: Group By"가 계속 나타납니다.
열을 선택하기 위한 친숙한 UI 없이도 살 수 있지만 일반 스크립트에 그룹화 변수를 추가하면 좋을 것입니다.
어떤 제안?
이 작업을 수행하는 유틸리티 스크립트가 있습니다.
Names Default To Here( 1 );
/****************************************************************
Description: This is a data manipulation utility. The user is presented with dialog
to choose one or more columns from the data table. Upon selecting the "Ok" button,
the missing values in the chosen columns will be "filled down". Filling down is performed by
copying the last previous non missing value that is present in the previous rows. This is performed sequentially by
row, starting with the second row in the data table.
This script is useful in situations where a data table has been created or imported that has
cells not completely filled as the should be (such as when importing an excel table with
merged cells in the data).
As an example a data table with this structure:
Row Lab Setup Replicate Result
1 A 1 1 100
2 . 2 101
3 . 3 103
4 2 1 101
5 . 2 99
6 . 3 97
If the columns "Lab" and "Setup are chosen to be filled down, then the resulting table is
Row Lab Setup Replicate Result
1 A 1 1 100
2 A 1 2 101
3 A 1 3 103
4 A 2 1 101
5 A 2 2 99
6 A 2 3 97
*****************************************************************/
_dt = Current Data Table();
colnames = _dt << Get Column Names( String );
fillcolumns = Expr(
selectedcols = _lb << Get Selected;
nc = N Items( selectedcols );
nr = N Rows( _dt );
For( ii = 2, ii <= nr, ii++,
For( jj = 1, jj <= nc, jj++,
If( is missing(Column( _dt, selectedcols[jj] )[ii]),
Column( _dt, selectedcols[jj] )[ii] = Column( _dt, selectedcols[jj] )[ii - 1]
);
)
);
_nw << Close Window;
);
_nw = New Window( "Fill Down Blanks",
_tb = Text Box("This script will fill missing values in the columns you select, by using the value in the last previous not empty row for that column"),
_hb = H List Box(
_pb = Panel Box( "Select Columns", _lb = List Box( colnames, width( 300 ) ) ),
_bb = Button Box( "Go", fillcolumns )
)
);