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>
ユーロスタットのデータについて
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"
最初のものの終わりに。 ある時点で、これらの合計を計算する式があったのかもしれません。
こんにちは、このような良い答えのために時間を割いていただきありがとうございます! あなたのガイドに従って、私がそれに慣れたらすぐに自分で試してみて、それがどのようになったかをお知らせします. 