안녕하세요 JMP 커뮤니티,
0-100 범위의 정수로 된 일련의 열이 있습니다. 열은 항상 0으로 시작한 다음 특정 행 번호에서 증가하기 시작합니다. 모든 0으로 행을 삭제 한 다음 0이 아닌 셀을 상향 이동하려면 어떻게해야합니까? 또한 동일한 시트의 모든 열에 적용해야합니다.
예 ( '.'는 빈 셀을 의미) 초기 데이터 :
열 -1 열 -2 열 -3
행 1 0 0 0
행 -2 0 0 0
3 열 -0
행 -4 10 1
행 -5 3 1 2
행 -6 8 4 7
조작 후 최종 결과 :
열 -1 열 -2 열 -3
행 1 1 1 1
행 -2 34 2
3 행. 7
행 -4. . .
행 5. . .
6 행. . .
고마워요!
스티브
다음은 각 독립 열의 값을 위로 올리는 샘플 스크립트입니다. 사용 된 데이터 예는 제공 한 데이터입니다.
Names Default To Here( 1 );
dt = New Table( "Example",
Add Rows( 6 ),
New Column( "Col 1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0, 0, 0, 1, 2, 3] )
),
New Column( "Col 2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0, 0, 0, 0, 1, 4] )
),
New Column( "Col 3",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0, 0, 0, 1, 2, 7] )
),
Set Row States( [1, 1, 1, 1, 1, 1] )
);
colNames = dt << get column names( numeric, string );
For( i = 1, i <= N Items( colNames ), i++,
theMatrix = Column( colNames[i] ) << get values;
Column( colNames[i] )[Index( 1, N Rows( dt ) )] = .;
Column( colNames[i] ) << set values( theMatrix[Loc( theMatrix )] );
);