公称データと連続データの値の数をプロットする方法こんにちは。調べているデータ (JMP 11) をモデル化する方法について質問があります。
最終目標: 公称データ列 (X) と公称データ列 (X) の値の数を示すグラフを表示します。連続データ列 (Y)。
さらに雑草の中に:
公称データ列: DieNumber があります。
そして連続データ列: ResDelta。
各 DieNumber 値の代わりに X 軸に表示される各 DieNumber (例: 1、2、3) のカウントを表示したいのですが、グラフ ビルダーで ResDelta (Continuous) が Y 軸にプロットされているときに要約統計量を N に切り替えます。 Y を集計していますが、X の各値のカウントを集計していません。
私が見つけた唯一の回避策は、Overlay Plot 関数を使用し、ResDelta を \[Y\] に関連付け、DieNumber を \[By\] に関連付けることです。ただし、データをすべて 1 つのグラフにまとめたい場合、これでは各グラフが個別に分割されてしまいます。
これには本当に苦労しているので、助けていただければ幸いです、ありがとう!ウィンドウズRe: 公称データと連続データの値の数をプロットする方法ご協力いただきありがとうございます! 最終的にはこんな感じになりました。 もう少しきれいにしますが、それだけです!

Re: 公称データと連続データの値の数をプロットする方法データを「名前」で並べ替える場合 ( @ih例)、次の式により、JMP 11 の列累積合計が得られます。
If(Lag(:Name) != :Name | Row() == 1, x = 0);
x++;
x
Re: 公称データと連続データの値の数をプロットする方法これは非常に近いですが、JMP 11 には引数として Col Cumulative Sum() がないと思います。 しかし、それが私が見ようとしている種類のグラフとモデリングです。
Re: 公称データと連続データの値の数をプロットする方法ああ、ありがとうございます。この例はユースケースを明確にします。私の理解が正しければ、ティムの両方の走行を表す単一の点ではなく、個々のトラックのタイムをすべて個別の点としてプロットする必要があるということです。私はこれに、各人がこれまでにトラックを走った回数をカウントする列を作成し、それを消費カロリーに対してプロットすることでアプローチします。
トラック列の時間の計算式は次のようになります (最初の引数に列参照を持たずに数値を合計するだけであることに注意してください)。


チャートを再作成するスクリプト:
もっと見る... Re: 公称データと連続データの値の数をプロットする方法皆さんのご協力に感謝します。これで問題が明確になったら、より理解しやすい同様の問題を提示したいと思います。
問題例:
ティム、アレックス、サラがトラックを走り回ります。 各ラップの後、消費カロリーが測定されます。
ティムはトラックを 2 回走り、消費カロリーはそれぞれ 75、155 でした。
アレックスは 4 回ランニングし、カロリー測定値は 60、130、195、240 cal でした。
サラは 5 回ランニングし、測定値は 65、125、180、235、280 cal でした。
(ランニング回数) 対 (消費カロリー) をプロットするにはどうすればよいですか?
これを私の問題に戻すと、次のようになります。
(公称) 名前 = ChipDieNum、
(公称) 実行回数 = ChipDieNum の数、
(連続) 消費カロリー = デルタ Res.
記録のために言っておきますが、モデル化したいデータ エントリが 8,000 以上あります。
Re: 公称データと連続データの値の数をプロットする方法これはこれまでのところすべての解決策の中で最も近いものですが、私が抱えている問題は、最後のグラフが(ChipDieNumの数)対(Res Delta)である必要があることです。
例えば:
ChipDieNum: 401 は、抵抗デルタ: -10200 でキャリブレーションを 3 回実行しました。 -2000; -100オーム。 データでは、ChipDieNum = (401)、ChipDieNum の数 = (3)、Res Delta = (-10200,-2000,-100)
ChipDieNum: 510 は、抵抗デルタ: -13000、-2600 でキャリブレーションを 2 回実行しました。 -200オーム。 これは次のように表示されます: ChipDieNum = (510)、ChipDieNum の数 = (2)、および Res Delta = (-13000,-2600,-200)
ChipDieNum のカウント (X) を Res Delta (Y) に対してプロットすることで、キャリブレーションを実行した回数に応じてチップの Res Delta が増加することを相関させようとしています。 別の意味では、複数の Res Delta (Y) 値を各 ChipDieNum 値の Count (X) の値に関連付けようとしています。ここで、ChipDieNum は Nominal、Res Delta はContinuousです。
Re: 公称データと連続データの値の数をプロットする方法これは私が行った代替方法です考えるこれは JMP 11 で動作し、連続値をプロットします。おそらく、その下にあるのは、ヒストグラムを使用してこのデータを表示する簡単な方法です。
方法 1
順序データ型を使用した表作成と、X 軸上の欠損値を除外するローカル データ フィルターを使用して、プロットする点を計算します。 次に、新しいデータ テーブルでデータ型を連続およびプロットに戻します。
- 次のような数式を含む新しい列を追加します (JMP の新しいバージョンでは、列を作成せずにプラットフォーム起動ダイアログで直接これを行うことができます)。

- 表を開き、y 変数を一時的に公称値に変更します。その後、元に戻すことができます。
- ローカル データ フィルターを追加して、年齢が欠落している行を除外し、公称値に設定して、「0」を選択します

- データテーブルにする
- データ モデリング タイプを継続的なものに戻します
- グラフ

方法 2
グラフ ビルダーで、y 軸のみを使用してヒストグラムを作成し、x 軸となる欠損値を除外するローカル データ フィルターを追加します。
- x 軸変数に同じ「不足している」列を作成します
- その列をグラフ ビルダーのローカル データ フィルターとして追加します。
- y 変数を y 軸に追加します。連続的である必要があります。
- グラフをヒストグラムに変更します
- y 軸の軸設定を適切なものに変更します。 これでもある程度のビニングが行われるため、ここでの設定によっては、高さ 51.1 と 51.2 がカウント 2 の同じバーに結合される可能性があることに注意してください。

Re: 公称データと連続データの値の数をプロットする方法こんにちは@Jakedahsnake 、
他のメンバーがあなたの問題の解決策を見つけようとしたように、私も議論に基づいて別の解決策を試みます。
添付のグラフを作成するには、次の手順を実行します。
- Die ID ごとに新しい列「Count」を作成します。
// New formula column: Count
Data Table( "dieexample" ) << New Formula Column(
Operation( Category( "Aggregate" ), "Count" ),
Columns( :ResDelta ),
Group By( :Die )
);
- 「オーバーレイ」の Die ID の情報と、比較を容易にするための箱ひげ図を使用して、ポイントの数に応じた ResDelta の分布を示すグラフを作成します (オプションであり、大規模なデータセットがある場合は煩雑になる可能性があります)。
Graph Builder(
Size( 984, 474 ),
Show Control Panel( 0 ),
Variables( X( :Count ), Y( :ResDelta ), Overlay( :Die ) ),
Elements( Points( X, Y, Legend( 10 ) ), Box Plot( X, Y, Legend( 12 ) ) ),
SendToReport(
Dispatch(
{},
"400",
LegendBox,
{Legend Position(
{10, [0, 1, 2, 3, 4], 12, [-1, -1, -1, -1, -1, -3, -3, -3, -3, -3]}
)}
)
)
);
これが完了すると、添付されたグラフが表示されます (グラフとスクリプトに箱ひげ図を追加しましたが、目的に役に立たない場合は削除しても構いません)。

デモンストレーションに使用したデータセットとグラフ スクリプトも添付しました。
これがお役に立てば幸いです。
Re: 公称データと連続データの値の数をプロットする方法これが必要なグラフの場合

ここでは、JMP 11 で使用した方法を示します。新しいバージョンでは、より簡単になります。
まず、次の式を使用して「count」という新しい列を作成します。
If(Lag(:Die) != :Die | Row() == 1, x = 0);
x++;
x
次に、Label 状態が Count 列に適用されます。
各行にはラベルの状態が設定されています。これにより、値をラベルとして表示できるようになります。
ResDelta 列が Y ドロップ領域にドラッグされます
ダイを X ドロップ領域にドラッグします
[カウント] が [カラー] ドロップ領域にドラッグされます
この最後のステップは、ポイントの色を白に変更して、グラフに表示されないようにするために行われます。色を変更するには、凡例内の色付きの各ポイントに移動し、一度に 1 つずつ右クリックして、色を白に変更します。
Re: 公称データと連続データの値の数をプロットする方法ただし、ResDelta は連続データです。 また、コントロール パネルのポイント ドロップダウンの横に赤い矢印がありません。 JMP 11 を使用しているためかもしれません。
Re: 公称データと連続データの値の数をプロットする方法ああ、今分かりました。y 軸を順序データまたは名義データに変更する必要があります。それから[ポイント] の赤い三角形の下で集計する応答軸を選択します。場合によっては、たとえば最も近い整数に丸めるなどして、最初にデータをビン化する必要があるかもしれませんが、あなたの場合、Res Delta はすでに整数であるように見えます。

これを実行すると、何らかの理由で x 軸のラベルがおかしくなったため、x 軸の設定に移動して修正する必要がありました。 したがって、このスクリプトは機能するはずだと思いました。
もっと見る...
Names Default To Here( 1 );
dt = Open( "$Sample_data/big class.jmp" );
dt:height << Set Modeling Type("Ordinal");
dt:age << Set Modeling Type("Ordinal");
Graph Builder(
Size( 502, 256 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements(
Points( X, Y, Legend( 3 ), Summary Statistic( "N" ), Response Axis( "X" ) )
)
);
名前のデフォルトは Here( 1 ); dt = Open( "$Sample_data/big class.jmp" ); dt:height << Set Modeling Type("Ordinal"); dt:age << Set Modeling Type("Ordinal");グラフ ビルダー( サイズ( 502, 256 )、コントロール パネルの表示( 0 )、変数( X( :age )、Y( :height ) )、要素( Points( X, Y, Legend( 3 ) )、要約統計量( "N " )、応答軸( "X" ) ) ) );
しかし、代わりにこれを使用する必要がありました:
もっと見る...
Names Default To Here( 1 );
dt = Open( "$Sample_data/big class.jmp" );
dt:height << Set Modeling Type("Ordinal");
dt:age << Set Modeling Type("Ordinal");
Graph Builder(
Size( 501, 256 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements(
Points( X, Y, Legend( 3 ), Summary Statistic( "N" ), Response Axis( "X" ) )
),
SendToReport(
Dispatch(
{},
"age",
ScaleBox,
{Label Row(
{Tick Mark( Label( "12" ), Label( "0" ) ),
Tick Mark( Label( "13" ), Label( "1" ) ),
Tick Mark( Label( "14" ), Label( "2" ) ),
Tick Mark( Label( "15" ), Label( "3" ) ),
Tick Mark( Label( "16" ), Label( "4" ) ),
Tick Mark( Label( "17" ), Label( "5" ) )}
)}
)
)
);
名前のデフォルトは Here( 1 ); dt = Open( "$Sample_data/big class.jmp" ); dt:height << Set Modeling Type("Ordinal"); dt:age << Set Modeling Type("Ordinal");グラフ ビルダー( サイズ( 501, 256 )、コントロール パネルの表示( 0 )、変数( X( :age )、Y( :height ) )、要素( Points( X, Y, Legend( 3 ) )、要約統計量( "N " ), Response Axis( "X" ) ) )、SendToReport( Dispatch( {}, "age", ScaleBox, {Label Row( {Tick Mark( Label( "12" ), Label( "0" ) ), Tickマーク( ラベル( "13" )、ラベル( "1" ) )、ティックマーク( ラベル( "14" )、ラベル( "2" ) )、ティックマーク( ラベル( "15" )、ラベル( "3" ) ), Tick Mark( Label( "16" ), Label( "4" ) ), Tick Mark( Label( "17" ), Label( "5" ) )} )} ) );
Re: 公称データと連続データの値の数をプロットする方法それを試してみましたが、何らかの理由で、JMPはXのNを要約するのではなく、Yを要約しているため(連続データであるためだと思います)、結果的に別のグラフが得られます。

これは ChipDieNumber のカウントを表示していますが、ResDelta の代わりに Y 上にプロットされています。
Re: 公称データと連続データの値の数をプロットする方法[ポイント] で、要約統計量を「N」に変更してみてください。

これであなたが探しているものが得られると思います:

再作成するスクリプト:
もっと見る...
Names Default To Here( 1 );
dt = Open( "$Sample_data/big class.jmp" );
win = New Window("Example",
H List Box(
Graph Builder(
Size( 503, 256 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ), Summary Statistic( "N" ) ) )
),
Tabulate(
Show Control Panel( 0 ),
Add Table( Row Table( Grouping Columns( :age ) ) )
)
)
);
名前のデフォルトは Here( 1 ); dt = Open( "$Sample_data/big class.jmp" ); win = 新しいウィンドウ("例", H リスト ボックス( グラフ ビルダー( サイズ( 503, 256 ), コントロール パネルの表示( 0 ), 変数( X( :age ), Y( :height ) ), Elements( Points( X 、Y、凡例( 3 )、要約統計量( "N" ) ) ) )、Tabulate( コントロール パネルの表示( 0 )、テーブルの追加( Row Table( Grouping Columns( :age ) ) ) ) ) );
Re: 公称データと連続データの値の数をプロットする方法温かく歓迎していただきありがとうございます。ご検討いただきありがとうございます。 私が思うように X と Y に変数をプロットしてみたところ、次のような結果が得られました。

これはほぼ正しいですが、各 X (ChipDieNum) に複数の Y 値 (ResDelta) が存在する可能性があります。 X 値をプロットする代わりに、各 X (ChipDieNum) 値のカウントをプロットしたいと考えています。
前述したように、X は公称値に設定され、Y は連続値に設定されます。
Re: 公称データと連続データの値の数をプロットする方法まず、コミュニティへようこそ。 問題を理解しているかどうかはわかりませんが、2 つの変数 Die と ResDelta の偽の数値を含む偽のデータ セットを添付しました。 グラフ ビルダー (緑色の矢印) のスクリプトを保存しました。 それをクリックするだけです。 これがあなたが探しているものですか? ところで、私は V17 を使用しているので、V11 で動作するかどうかはわかりません...ということで、スクリプトは次のとおりです。
Graph Builder(
Variables( X( :Die ), Y( :ResDelta ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
)