こんにちは、
私にはプロジェクトがあり、私の目的は、データテーブル(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)の列に結果を書き込むことができません。
私は完全な答えを求めるのではなく、本当に行き詰まっているのでヒントだけを求めます。
ありがとうございました !
他のテーブルに書き込むには、これらのAdd Rows()またはNew Column()のいくつかを使用できます。 Write()は、値をJMPログに出力するだけです。 それからまたありますデータテーブルの添え字、Tabulate()またはSummary()を使用して統計を計算することができます(おそらく、distributionをmake into datatableと組み合わせて使用することもできます)。
「強制」値を数値にする場合(データが失われる可能性があるため、注意してください)、<< Set Data Type( "Numeric")を使用してみてください。
関数の詳細については、JMPの[ヘルプ]メニューの[スクリプトインデックス]を参照してください。
説明したプロジェクトは、組み込みのJMPプラットフォームの1つを使用してJMPで生成できます。また、プラットフォームがインタラクティブに実行されると、それを実行するためのJSLをJMPから直接取得できます。ソリューションへの別のルートを取ることをお勧めします。
以下は、プラットフォームを実行した後の開始データテーブルと結果のデータテーブルです。


JMPを使ってインタラクティブに欲しいものを手に入れることができます。 サンプルデータフォルダのFitnessで説明します。 データテーブルが開いていると仮定します。
ステップ1:統計を計算する
- を起動します分布対象のすべてのデータ列を備えたプラットフォーム(年終えたMaxPulse )。
- を右クリックします要約統計量テーブルと選択結合データテーブルを作成する。
ステップ2:結果を希望どおりに再配置します。
- 選択するテーブル>分割。 選択するY列をクリックしてクリックします分割。 選択する列2を選択します分割列。 選択するすべて保ちます。 クリックわかった。




私は、迅速でインタラクティブなプロセスを説明することだけを意味します。 スクリプトで次のようにキャプチャできます@txnelson提案しました。 必要に応じて、各ステップでカスタマイズできます。