JMP에서 테이블 데이터를 다시 형식화하는 데 어려움이 있습니다. 예를 들어, 표를 '순위'형식에서 '주간 점수 형식'으로 변환하고 싶습니다.
에서:
Week 1st_Name 1st_Score 2nd_Name 2nd_Score 3rd_Name 3rd_Score
1 다윗 5 팀 2 레이첼 1
2 팀 7 알렉시스 4 레이첼 2
3 티나 6 레이첼 5 데이비드 2
에:
주 데이비드 팀 레이첼 알렉시스 티나
1 5 2 1 0 0
2 0 7 2 4 0
3 2 0 5 0 6
형식을 다시 지정하는 것이 더 쉬운 경우 원래 데이터 풀에서 열을 다르게 정렬 할 수 있습니다.
누군가가 이것을 도울 수 있다면 매우 감사 할 것입니다.
이것은하기 쉽습니다.
대화식으로 :
- 다중 시리즈 스택을 사용하기 위해 스택 대화 상자에 지정된 이름과 점수를 스택합니다.
- 그런 다음 누적 테이블 분할
- 열 데이터로 분할
- 분할 열로 Data2 열 지정
- 그런 다음 각 열을 살펴보고 누락 된 값을 선택하여 0으로 변경해야합니다.
다음은 예제 데이터를 기반으로 솔루션을 설명하는 스크립트입니다.
Names Default To Here( 1 );
dt = New Table( "Example",
Add Rows( 3 ),
New Column( "Week", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [1, 2, 3] ) ),
New Column( "1st_Name", Character, "Nominal", Set Values( {"David", "Tim", "Tina"} ) ),
New Column( "1st_Score", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [5, 7, 6] ) ),
New Column( "2nd_Name", Character, "Nominal", Set Values( {"Tim", "Alexis", "Rachel"} ) ),
New Column( "2nd_Score", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [2, 4, 5] ) ),
New Column( "3rd_Name", Character, "Nominal", Set Values( {"Rachel", "Rachel", "David"} ) ),
New Column( "3rd_Score", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [1, 2, 3] ) )
);
dtStack = dt << Stack(
columns(
:"1st_Name"n,
:"1st_Score"n,
:"2nd_Name"n,
:"2nd_Score"n,
:"3rd_Name"n,
:"3rd_Score"n
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Number of Series( 2 ),
Output Table( "Stacked Data" )
);
dtFinal = dtStack << Split(
Split By( :Data ),
Split( :Data 2 ),
Remaining Columns( Drop All ),
Sort by Column Property
);
For( i=1, i<=N Cols(dtFinal), i++,
missing = dtFinal << get rows where( isMissing(as column( i )));
try(column(i)[missing]=0);
);