JMPの初心者で、より大きなデータテーブルから特定の値を報告するテーブルを生成しようとしています「Well Position」、「Temperature」、および「Derivative」という3つの重要な列を持つテーブルがあります。他の2つは連続していますが、Well Positionは名目上(A1、A2、B1、B2など)です。私は導関数が各井戸位置に対して最小となる温度を報告する新しい表を作成しようとしています。これまで、tabulate関数を使用して、すべての井戸位置の最小導関数値を報告する表を生成することができましたが、対応する温度を与える式またはスクリプトを書く方法を私は理解できません。私はJMPの初心者で、スクリプトに関する経験がほとんどありません。
再:JMPの初心者で、より大きなデータから特定の値を報告するテーブルを生成しようとしているtaうわー、それは完璧に動作します。そのようにそれを分解してくれてありがとう!再:JMPの初心者で、より大きなデータから特定の値を報告するテーブルを生成しようとしているtaあなたのスクリプトは素晴らしい作品です、ありがとうございました!再:JMPの初心者で、より大きなデータから特定の値を報告するテーブルを生成しようとしているtaこれは私があなたが指定したことをどのようにするかです。
1。 元のデータテーブルに新しい列を作成し、それを "Minimum Derivative"と呼びます。 その列の式を次のように設定します。
Col Minimum( :Derivative, :Well Position )
2。"最小微分温度"という2番目の列を作成します。 この列の式を次のように設定します。
dt = Current Data Table();
currentPosition = :Well Position;
:Temperature[Min( dt << get rows where( :Minimum Derivative == :Derivative & :Well Position == currentPosition ) )];
3。 それでは、サマリーデータテーブルを作成します。
テーブル==>概要
Group値をWell Position列に設定し、Statistics列を2つの新しい列に設定します。ここで、統計値としてMeanを指定します。
再:JMPの初心者で、より大きなデータから特定の値を報告するテーブルを生成しようとしているtaこれは最も洗練されたスクリプトではありませんが、うまくいくはずです。 データテーブルを開いた状態で実行してください。
dt = Current Data Table();
//Get Summary Table with Min Derivative by Well Position
dt_summary = dt << Summary(
Group( :Well Position ),
Min( :Derivative )
);
//Add a new column for temperature at Min Deriv
dt_summary << New Column("Temperature at Min Derivative");
for(i = 1, i <= N Row(dt_summary), i++,
well_pos = dt_summary:Well Position[i]; //get current well position
min_deriv = dt_summary:Name("Min(Derivative)")[i]; //get minimum derivative for current well position
min_row = dt << Get Rows Where(:Well Position == well_pos & :Derivative == min_deriv); //find the row in original data table with matching well position and derivative
dt_summary:Temperature at Min Derivative[i] = dt:Temperature[min_row]; //set the value for the new col in the summary table to the temperature in the corresponding row of the original table
);