JSL変数列の最大値を使用して新しいサマリーテーブルを作成しますこんにちは、
私はしばらくの間、これらのディスカッションページを読んで解決策を見つけることを楽しんでいましたが、今ではこれを理解するのに苦労しています。
マシンによって自動生成された可変数の列を提供するデータテーブルがあります。最初の14列は常に同じ識別情報です。 15以降の他の列は、列名が常に変化する数値連続データです。
問題は、識別情報によってデータをグループ化し、各データ列の最大データの列を持つ要約テーブルの作成を自動化しようとしていることです。
さまざまな数のデータ列とさまざまな列名を使用して、各列を反復処理することは可能ですか? すべての最大値をサマリーテーブルに取り込むforループなど? 各プルのさまざまな列名のすべての列b/cに名前を付けることができないという制限がありますが、14番目の列以降のすべての列には最大値が必要であると言っても差し支えありません。
これは私が編集しようとしていたJSLスクリプトですが、Max列の生成で行き止まりになりました。
sumdt = table << Summary(
Group(:NAME,:ID),
(Max(Column(table, 15:154)), // having issue on this line
Output Table Name("Summary Max Values")
);
私の問題への入力をありがとう!
スクリプティングRe:JSL変数列の最大値を使用して新しいサマリーテーブルを作成します最新バージョンのJMPでは、コードは正常に機能します。 ありがとう!
Re:JSL変数列の最大値を使用して新しいサマリーテーブルを作成しますこんにちは、コードをありがとう。 ここで、最初の数値列の最大値、高さを取得できることがわかりました。 添付ファイルを参照してください。 Maxはリストの最初の値に対して機能するだけだと思います。 理由を教えてもらえますか?
Re:JSL変数列の最大値を使用して新しいサマリーテーブルを作成します本当にありがとう@txnelson
パーフェクトです。 削除する列がわかっているので、Remove from()関数はまさに必要なものです。
基本的に、私が必要としていることを正確に実行するコードは次のとおりです。
Names default to here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
colNamesList = dt << get column names( continuous, string );
Remove From(colNamesList, 1,2 ); //removes first two columns that I don't want evaluated
sumdt = dt << summary(
Group( :Sex, :Age ),
max( colNamesList ),
Output Table( "Summary Max Values"),
Link to Original Data Table( 0 )
);
Re:JSL変数列の最大値を使用して新しいサマリーテーブルを作成しますcolNamesListが作成されたら、Remove From()関数を使用してリスト内の特定の行を削除し、リストが必要な列だけに絞り込まれたら、それを要約テーブルの生成に使用できます。
Remove From()関数の定義と例については、ScriptingIndexエントリを参照してください。
Re:JSL変数列の最大値を使用して新しいサマリーテーブルを作成しますありがとうございました@txnelson 、
それは私の問題を部分的に解決しました。
元のデータテーブルには、最大値を分析したくない日付列があります。基本的に、データ型に関係なく、最初の14列の最大値を計算したくないという問題が発生します。
最初の14列を無視する方法はありますか、それともサマリーテーブルに渡す前に不要な列を最初に削除する新しいテーブルを作成する方が簡単ですか?
ありがとう、
グロリア
Re:JSL変数列の最大値を使用して新しいサマリーテーブルを作成しますこれは、BigClassサンプルデータテーブルを使用して必要な処理を実行する例です。
Names default to here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
colNamesList = dt << get column names( continuous, string );
sumdt = dt << summary(
Group( :Sex, :Age ),
max( colNamesList ),
Output Table( "Summary Max Values"),
Link to Original Data Table( 0 )
);
