안녕하세요 jmp 커뮤니티 여러분,
저는 일반적으로 JMP 및 분석 분야에서 비교적 초보자이며 공통 구조가 없는 데이터 세트로 작업하는 데 한계에 도달하고 있습니다. 그런 데이터가 실제로 어떻게 호출되는지 잘 모르겠어서 말로 설명하기가 어렵습니다. 기본적으로, 예를 들어 매년 열이 있고 행은 사람 또는 이와 유사한 것에 대한 단일 관찰이 아니라 행에 대한 더 복잡한 계층 구조입니다. (예제 파일은 첨부파일에 있으니 무슨 말인지 아시겠죠?) 어쨌든 이 구조는 제가 의미 있는 보고서를 작성하는 것을 거의 불가능하게 만듭니다. 그러한 데이터로 작업하는 일반적인 방법이 있습니까?
도움을 주셔서 감사합니다!
커뮤니티에 오신 것을 환영합니다.
Excel 마법사를 통해 데이터를 JMP에 쉽게 입력할 수 있습니다.
일반적으로 데이터의 분석 형식은 수평이 아닌 수직으로 배치됩니다.따라서 모든 연도 데이터를 쌓는 것이 일반적으로 시작하는 방법입니다.
귀하가 제공한 2개의 스프레드시트에서 읽은 몇 가지 스크립트를 함께 제공했습니다.두 경우 모두 대화식 JMP를 사용하여 데이터를 입력하고 변환한 다음 실제 작업을 수행하기 위해 생성한 스크립트를 JMP에서 가져와 아래 스크립트에 저장했습니다.
Verkehrsunfalle 데이터의 경우


Names Default To Here( 1 );
dt = Open(
"path to your data",
Worksheets( "46241-0022" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 4 ),
Data Starts on Row( 5 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
// Fill in rows where repeating values have been deleted
For( i = 1, i <= 2, i++,
For( k = 1, k <= N Rows( dt ), k++,
If( Column( i )[k] != "",
hold = Column( i )[k]
);
Column( i )[k] = hold;
)
);
// Get rid of dashes being used as an indicator of blank data
// Also, change columns to numeric after the dashes are changed
for(i=4,i<=ncols(dt),i++,
try(as column(i)[dt<<GET rows="" where=""></GET>
Eurostat 데이터의 경우
다시 Excel 마법사를 사용하여 JMP에 입력한 다음 데이터 누적


names default to here(1);
dt = // Import Excel file: lebTHI_EurostatTable.xls
// → Data Table( "Sheet0" )
Open(
"path to your data",
Worksheets( "Sheet0" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 3 ),
Data Starts on Row( 4 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
// delete rows where footnotes were input
dt << select where(:"1997"n =="");
dt << delete rows;
// Stack all of the year data
dtStack = dt << Stack(
columns(
:"1990"n, :"1991"n, :"1992"n, :"1993"n, :"1994"n, :"1995"n, :"1996"n,
:"1997"n, :"1998"n, :"1999"n, :"2000"n, :"2001"n, :"2002"n, :"2003"n,
:"2004"n, :"2005"n, :"2006"n, :"2007"n, :"2008"n, :"2009"n, :"2010"n,
:"2011"n, :"2012"n, :"2013"n, :"2014"n, :"2015"n
),
Source Label Column( "Jahr" ),
Stacked Data Column( "Arbeitslosenquote" ),
"Non-stacked columns"n( Keep( :geo\time ) ),
Output Table( "Stacked Unemployment " )
);
// Change : to blanks
dtStack:Arbeitslosenquote[dtStack << get rows where(:Arbeitslosenquote == ":")] = "";
// Change Arbeitslosenquote to numeric, continuous
dtStack:Arbeitslosenquote << datatype(numeric)<<MODELINGTYPE></MODELINGTYPE>
멋진! 인간 친화적인 표현을 컴퓨터 친화적인 형식으로 변환하는 일반적인 접근 방식을 보여 주셔서 감사합니다. 나는 특히 좋아했다
Entfernen Sie die Kategorie "Insgesamt"
첫 번째 끝에. 어쩌면 어느 시점에서 그 합계를 계산하는 공식이 있었을 것입니다.
안녕하세요, 좋은 답변을 위해 시간을 내주셔서 감사합니다! 가이드님의 안내에 따라 주변을 돌아다니면 곧 제가 직접 시도해보고 어떻게 되었는지 알려드리겠습니다. 