やあ、
多くの列を持つテーブルがあります。 one は 0,1 のバイナリ変数で、ラベルは 0=No、1=Yes です。
もう 1 つは、0 ~ 5 の数字で分類された他のいくつかの数式列に基づく数式列です。
X軸にカテゴリ列、Y軸に各カテゴリの「はい」のパーセンテージを持つ棒グラフを作成したいと思います。
このデータは、これら 2 つの列を使用してテーブルを分割し (分割 = カテゴリ列と分割列 = バイナリ列)、すべての列 (= 元のカテゴリ) の分布を取得し、はいの確率を調べることで、このデータを取得できました。
しかし、これを棒グラフにするにはどうすればよいですか?
これは意地悪なデータの写真です:

そして、これは私が作成したい種類のグラフの写真です:

ティア
これは、以下を使用してかなり簡単に実現できます。
分析==>集計
次に、結果のテーブルからデータをグラフ化します

- 2 つの列から始めます。1 つは 0 ~ 1 の値で、もう 1 つは 0 ~ 4 の値です。 両方の列のモデリング タイプが序数である必要があります。行を「介入」と「正の危険因子の数」と呼びました。
- "intervention" を列のグループ化変数として配置
- 「正の危険因子の数」を行グループ化変数として配置します
- 統計を行 % として設定します

- 赤い三角形に移動し、[データ テーブルにする] を選択します。

- 列「Row %(1)」の名前を「Rate of Intervention」に変更します

- グラフ ビルダーに移動し、グラフを作成します。
- 「正の危険因子の数」を X 軸にドラッグします
- 「介入率」をY軸にドラッグします
- 棒グラフ アイコンをクリックして、グラフを棒グラフに変更します。
- ウィンドウの左側にある [バーの詳細] セクションで、[ラベル] を [値によるラベル] に変更します。
上記を生成するスクリプトは次のとおりです
Names Default to Here(1);
dt=new table("Example",
add rows(400),
new column("Intervention", ordinal, set each value(Random Integer(0,1))),
new column("Number of Positive Risk Factors",ordinal,set each value(Random Integer(0,4)))
);
// Calculate the Statistic
tab = dt << Tabulate(invisible,
Add Table(
Column Table( Grouping Columns( :Intervention ), Statistics( Row % ) ),
Row Table( Grouping Columns( :Number of Positive Risk Factors) )
)
);
dtFinal = tab << make into data table;
// Change Column Name
dtFinal:Name("Row %(1)") << Set Name("Rate of Intervention");
// Create Graph
Graph Builder(
Size( 534, 450 ),
Show Control Panel( 0 ),
Variables( X( :Number of Positive Risk Factors ), Y( :Rate of Intervention ) ),
Elements( Bar( X, Y, Legend( 6 ), Label( "Label by Value" ) ) )
);