你好,
我有一张有很多列的表。一个是二进制变量,其值为 0,1,标签 0=No,1=Yes。
另一个是基于其他几个的公式列,它是数字 0-5 的分类。
我想创建一个条形图,其中 x 轴上的分类列和每个类别中是的百分比作为 y 轴。
我可以通过使用这两列(拆分=分类列和拆分列=二进制列)拆分表来获取此数据,然后获取所有列的分布(=原始类别),并查看是的概率。
但我如何在条形图中得到这个?
这是恶意数据的图片:

这是我想要创建的那种图表的图片:

TIA
这可以相当简单地使用
分析==>制表
然后绘制结果表中的数据

- 从您的 2 列开始,一列具有 0-1 值,另一列具有 0-4 值。 两列都需要具有 Ordinal 的建模类型。我将这些行称为“干预”和“积极风险因素的数量”。
- 将“干预作为列分组变量
- 将“积极风险因素的数量”作为行分组变量
- 将统计设置为 Row %

- 转到红色三角形并选择“制作成数据表”

- 将“行 %(1)”列的名称更改为“干预率”

- 转到 Graph Builder 并创建图表
- 将“积极风险因素的数量”拖到 X 轴
- 将“干预率”拖到 Y 轴
- 单击条形图图标可将图形更改为条形图
- 在窗口左侧的 Bar details 部分中,将 Label 更改为“Label by Value”
这是产生上述内容的脚本
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" ) ) )
);