セル値に基づいて場所とサブセットを選択しますこんにちは、
以下のコードでは、ファイルから列名を取得し、新しいサブセット テーブルを作成してから、すべての数値列の平均値と SD を検索します。 Mean および SD コードは機能しますが、サブセット テーブルはまったく作成されません。何か案は?投稿されたすべてのディスカッションと照らし合わせてこれを確認しました。 「次で始まる」条件と「次を含む」条件の両方を試しました
サンプルファイルは次のとおりです。
| シリアル番号 |
コード |
エリア |
身長 |
重さ |
年 |
| 1 |
55414 |
ミネアポリスN |
|
|
|
| 2 |
55455 |
ミネアポリスS |
|
|
|
| 3 |
4446804e |
ミネアポリスE |
|
|
|
| 4 |
4389568 |
ミネアポリスW |
|
|
| 5 |
g58934 |
セントポールN |
|
|
|
| 6 |
4989034 |
セントポールE |
|
|
|
| 7 |
3496f |
セントポールS |
|
|
|
| 8 |
5404390sfd |
ミネアポリスE |
|
|
|
| 9 |
43960 |
ミネアポリスN |
|
|
|
| 10 |
569043 |
セントポールN |
|
|
|
| 11 |
6590549 |
セントポールE |
|
|
|
dt3 = Open( "file_28.jmp" );
colcmp = "Area";
col = dt3 << get column names( string );
nc = N Items( col );
Show( nc );
For( j = 1, j <= nc, j++,
colname = Column( j ) << Get Name;
Show( colname );
If( Contains( colname, colcmp ),
dt3 << Select Where( Starts With( :colname, "Minneapolis" ) );
dt3 << Subset( Output Table Name( "MPLS" ), Selected Rows( 1 ), Selected columns only( 0 ) );
dt3 << Select Where( Starts With( :colname, "St. Paul" ) );
dt3 << Subset( Output Table Name( "STP" ), Selected Rows( 1 ), Selected columns only( 0 ) );
);
);
dtPM = Data Table( "MPLS" );
a = "Numeric";
colPM = dtPM << get column names( string );
ncPM = N Items( colPM );
Show( ncPM );
For( k = 1, k <= ncPM, k++,
colname = Column( k ) << Get Name;
Show( colname );
which = dtPM:colname << Get Data Type;
Show( which );
If( Contains( which, a ),
count = count + 1;
colnames2[count] = colname || "_MPLS";
Mean1[count] = Col Mean( :Column( k ) );
Std1[count] = Col Std Dev( :Column( k ) );
Show( Mean1[count] );
);
);
データのブレンディングとクリーンアップRe: セルの値に基づいて場所とサブセットを選択しますありがとうジム。 列名を格納する変数を関数に渡す方法について混乱していて、実際に例を見つけることができませんでした。 これでエラーが解消されました。
Re: セルの値に基づいて場所とサブセットを選択します:colname という名前の列を検索するように JMP に指示しています。この参照では、JMP は :colname を超える列参照を評価しません。必要なことは、As Column() 関数で名前を指定することです。その後、それは動作します
For( j = 3, j <= nc, j++,
colname = Column( j ) << Get Name;
Show( colname );
If( Contains( colname, colcmp ),
dt3 << Select Where( Starts With( as column(colname), "Minneapolis" ) );
dt3 << Subset( Output Table Name( "MPLS" ), Selected Rows( 1 ), Selected columns only( 0 ) );
dt3 << Select Where( Starts With( as column(colname), "St. Paul" ) );
dt3 << Subset( Output Table Name( "STP" ), Selected Rows( 1 ), Selected columns only( 0 ) );
);
);