こんにちは、
私はプロジェクトを持っており、その目的はデータテーブル(1)から各列の平均値、最大値、最小値を抽出し、その結果を新しいテーブル(2)に書き込むことです。
コードのこの部分を見つけましたが、いくつかの列では機能するようです。ただし、すべての列で機能するわけではありません。300 列ほどありますが、そのうち 20 列の結果しかありません。
For( i = 1, i <= N Col( dt ), i++,
If (:Trial[i] =="TrialName",
If( Column( dt, i ) << get data type == "Numeric",
Write( "\!n", Column( dt, i ) << get name );
Write( Column( dt, i ), "\!nMin: ", Col Min( Column( dt, i ) ) );
Write( "\!nMax: ", Col Max( Column( dt, i ) ) );
Write( "\!nAverage: ", Col Moving Average( Column( dt, i) ) );
Write ("\!n");
)
)
); ログでは結果を確認できますが、新しいテーブル (2) の右側の列に結果を書き込むことができません。
もっと見る...このコードは次のようになります:
コラム1
最小: 10
最大: 50
平均: 30
私が望むものの例は次のとおりです。
表 1: 列 1: 列 2: --> 表 2 -----> 列 1: 列 2:
10 45.2 最大: 50 最大: 52.4
20 48.3 分:10 分:18.3
30 36.7平均: 30 平均: 40.18
40 52.4
50 18.3
--->
1. すべてのデータが数値として扱われるわけではないので、JMP は最小値、最大値、平均値を計算しないと思いますが、データのタイプを「強制」する方法が見つかりませんでした。
2. 最終表の列に結果を書き込むことができません(2)。
私は本当に行き詰まっているので、完全な答えを求めているのではなく、ヒントだけを求めています。
ありがとう !
ヒントをくれてありがとう! 私は来週中にそれに取り組みます。
すべてを読みましたが、JMP プリセットでこれを行うことができるとは知りませんでした。
要点は、1 つのスクリプトを実行して最終結果を作成し、誰でも簡単に使用できるようにすることです。 あなたが私に示したステップをスクリプト化できると思います。
ありがとう !
JMP をインタラクティブに使用して、必要なものを取得できます。 Sample DataフォルダからFitnessで説明します。 データ テーブルが開いているとします。
ステップ 1: 統計の計算
- を起動します分布対象のすべてのデータ列を含むプラットフォーム (年終えたMaxPulse )。
- を右クリックします。要約統計テーブルと選択結合データ テーブルを作成する.
ステップ 2: 必要に応じて結果を再配置します。
- 選択するテーブル > 分割. 選択するよ列をクリックして分割. 選択する列 2そして選択列を分割. 選択するすべて保ちます. クリックわかった.




簡単でインタラクティブなプロセスを説明するだけです。 次のようにスクリプトでキャプチャできます@txnelson提案した。 必要に応じて、各ステップでカスタマイズできます。
説明したプロジェクトは、組み込みの JMP プラットフォームの 1 つを使用して JMP で生成できます。また、プラットフォームがインタラクティブに実行されると、それを実行するための JSL を JMP から直接取得できます。ソリューションへの別のルートを取ることをお勧めします。
以下は、プラットフォームを実行した後の最初のデータ テーブルと結果のデータ テーブルです。


他のテーブルに書き込むには、これらの Add Rows() または New Column() のいくつかを使用できます。 Write() は値を JMP ログに出力するだけです。 それからまたあるデータ テーブルの添え字付け、Tabulate() または Summary() を使用して統計を計算することができます (おそらく、make into datatable と組み合わせて Distribution を使用することもできます)。
「強制」値を数値にする場合 (データが失われる可能性があるため注意してください)、 << Set Data Type("Numeric") を使用してみてください。
関数の詳細については、JMP のヘルプ メニューのスクリプト インデックスを参照してください。