回复:Graph Builder 的错误?多响应+多直方图你好@hogi ,
我认为这不是错误,而是预期的变化,具体取决于数据的结构方式和显示的信息。
- 在图表 1 中,我猜每个学生一行,但每个学生有多个回答意味着左边的图表将显示男性或女性的数量反应而不是男性或女性的数量学生.
- 在图表 2 中,您仅显示观察结果的变量“性别”,因此您将获得正确的学生人数。
也许重新格式化数据表(堆叠有关国家/地区的信息)和/或添加学生“ID”列(以识别主题回答并避免重复回答)可能会有所帮助。
在某些情况下,您可能还必须创建单独的图形。
希望这第一个答案可以帮助你。
回复:Graph Builder 的错误?多响应+多直方图你好@hogi ,
我已经理解你的问题,但这种行为对我来说似乎很正常,关于你显示的数据和图表类型:在你的例子中 Y 轴“计数”应该独立计算响应的数量(无论学生)和每个性别的学生人数,这是两个不同的计数信息。
我在这里找到了一个解决方法(它只需要一个列“按性别计算 ID”来创建下面的图表):

如果您想尝试一下,这里是脚本:
Graph Builder(
Size( 565, 582 ),
Show Control Panel( 0 ),
Variables(
X( :sex ),
Y( :countries visited ),
Y( :"Count[ID][sex]"n ),
Overlay( :sex )
),
Elements( Position( 1, 1 ), Histogram( X, Y, Legend( 11 ), Counts( 1 ) ) ),
Elements(
Position( 1, 2 ),
Bar( X, Y, Legend( 4 ), Label( "Label by Value" ) )
),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
11,
Properties( 0, {Fill Color( 19 )}, Item ID( "F", 1 ) ),
Properties( 1, {Fill Color( 21 )}, Item ID( "M", 1 ) )
), Legend Model(
4,
Properties( 0, {Fill Color( 19 )}, Item ID( "F", 1 ) ),
Properties( 1, {Fill Color( 21 )}, Item ID( "M", 1 ) )
)}
),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {11, [2, 3], 4, [0, 1]} )}
)
)
);
这应该通过在同一图表上显示两种类型的信息来解决您遇到的问题。
回复:Graph Builder 的错误?多响应+多直方图你好@维克多_G
这只是标准大班家庭数据表,所以是的,每个学生一行..
我使用它是因为 Columns with modeling type多重反应.
让我们举一个更简单的例子,班上只有两个学生,一个女孩和一个男孩。
结果相当令人惊讶:
- 女性有 9 项罪名?!?! - 只因为班上单身女生有3项体育活动,去过3个国家
- 单身女孩的价值是 3 倍篮球,(其他体育活动也一样)。因为她访问了 3 个国家?!?
- ppor 男孩只算 2 倍,因为他只访问了 2 个国家
这个回应真的是“预期的“?
我想知道谁需要这种复杂的情节:个人数量的产物“反应“
可能有些用户确实需要这样,但我希望有一个功能可以禁用此模式。
为什么不只算=数字按各自 X 轴上的类别划分的学生数量 - 不受其他子图的干扰。

查看更多...
回复:Graph Builder 的错误?多响应+多直方图你好@Victor_G不幸的是,解决方法不适用于我的情况。
我有一个包含 ~10 个问题的调查,并希望生成结果的组合直方图。
问题:其中 2 个问题允许多选。
使用 Graph Builder 的当前(“预期”?)行为,剩余直方图的“计数”由
用多个问题 1 和 2 的响应数量的相应乘积对个人“计数”进行加权。
如果像这样“预期”,这不像故意的 :)
不幸的是,度数太多无法显示。 因此,不可能通过增加维度来逃避这个问题。
我将提交一个希望添加一个功能(复选框),用户可以在当前的绘图方式和更“有用”的绘图方式之间进行选择,其中子图的直方图仅显示“计数”(如预期的那样)而不受其他地块。
顺便说一句:我仍然很难找到适合当前行为的应用案例。
有人/任何人都可以描述这样一种情况,即在相邻的直方图中,一个地块的“计数”由其他地块的个体响应数的乘积之和加权吗?
回复:Graph Builder 的错误?多响应+多直方图我刚从 Jmp 支持那里得到确认,这个错误将在未来的版本中修复:)
TS-00034150
回复:图形生成器的错误?多重响应+多重直方图
@hogi写道:
...固定在未来版本
在 Jmp 17.2 中,该错误仍然存在,
所以“未来版本”= Jmp 18 或更高版本
图形生成器:多重响应+多个直方图Gaph Builder 现在可以显示具有建模类型多重响应的值。 这非常有用!
问题:
如果有多个彼此相邻的直方图或条形图,并且显示的值之一具有建模类型多重响应,它也会影响其他图中的数字。
在下面的示例中,访问的国家/地区数量会影响班级中男女学生的数量。 把凯蒂送到世界各地增加了班上女学生的数量。
即使在同一图中显示建模类型多重响应的列,是否有办法显示男女学生的实际数量?

编辑:
添加了一个链接Jmp 和 JSL 中的小陷阱
查看更多...dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
NewWindow("compare",H List box(
dt << Graph Builder(
Show Control Panel( 0 ),
Variables(
X( :sex ),
X( :countries visited )
),
Elements( Position( 1, 1 ), Bar( X, Legend( 3 ) ) ),
Elements( Position( 2, 1 ), Bar( X, Legend( 8 ) ) ),
SendToReport(
Dispatch(
{},
"",
ScaleBox,
{Min( 0 ), Max( 50 ), Inc( 10 ), Minor Ticks( 1 )}
)
)
);
dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :sex ) ),
Elements( Bar( X, Legend( 3 ) ) ),
SendToReport(
Dispatch(
{},
"",
ScaleBox,
{Min( 0 ), Max( 50 ), Inc( 10 ), Minor Ticks( 1 )}
)
)
)));
dt << Minimize Window();
New Window( "",
<<TYPE></TYPE>dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" ); NewWindow("比较",H 列表框( dt << 图形生成器( 显示控制面板( 0 ), 变量( X( :性别 ), X( : 访问过的国家 ) ), 元素( 位置( 1, 1 ), 条形( X, 图例( 3 ) ) ), 元素( 位置( 2, 1 ), 条形图( X, 图例( 8 ) ) ), SendToReport( 调度( {}, "", ScaleBox, {Min( 0 ), Max( 50) ), Inc( 10 ), 小刻度( 1 )} ) ) ); dt << 图形生成器( 显示控制面板( 0 ), 变量( X( :sex ) ), 元素( Bar( X, Legend( 3 ) ) ), SendToReport( Dispatch( {}, "", ScaleBox, {Min( 0 ), Max( 50 ), Inc( 10 ), 小刻度( 1 )} ) ) ))); dt << 最小化窗口(); New Window( "", <
数据探索和可视化回复:Graph Builder 有 bug 吗?多重响应 + 多重直方图嗯,图形生成器中的多重响应和多个直方图仍然存在这个错误。
也许可以说明一下:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
Graph Builder(
Variables( X( :name ), X( :sports, Order By( :sports, Descending, Order Statistic( "N" ) ) ) ),
Elements( Position( 1, 1 ), Bar( X, Legend( 3 ), Summary Statistic( "N" ) ) ),
Elements( Position( 2, 1 ), Bar( X, Legend( 4 ), Summary Statistic( "N" ) ) )
);
右边的图表显示了有多少学生参加了哪项体育活动 - 左边的图表显示了同名学生的数量:

同名的学生?!?!
是罗伯特吧?
回复:Graph Builder 有 bug 吗?多重响应 + 多重直方图无法通过“图形生成器”中的“汇总统计信息 (N)”统计同名学生的数量,因为右侧的多响应列“行”过多。如果在同一报表中使用多响应列,例如在轴上使用颜色、大小等,就会出现这种情况。
解决方法:通过转换列“手动”进行计数:
Graph Builder(
Transform Column( "student=1", Formula( 1 ) ),
Transform Column(
"Col Number@X",
Formula( Col Number( 1, :"@Exclude"n, :"@Filter"n, :"@Graph"n, :"@Overlay"n, :"@X"n ) )
),
Size( 573, 393 ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables(
X( :name ),
X( :sports, Order By( :sports, Descending, Order Statistic( "N" ) ) ),
Y( :"Col Number@X"n ),
Y( :"student=1"n, Position( 1 ) )
),
Elements( Position( 1, 1 ), Bar( X, Y( 1 ), Legend( 3 ), Summary Statistic( "Mean" ) ) ),
Elements( Position( 2, 1 ), Bar( X, Y( 2 ), Legend( 4 ), Summary Statistic( "N" ) ) )
);
现在情节看起来好多了:

到目前为止,生成这样的图表相当复杂 - 像标准图表生成器图一样具有“交互式”功能:
当用户将另一列拖到环绕或 X 轴上时会发生什么?
JMP19 中的新范围选项使转换列变得像汇总统计数据一样舒适 (:green_heart:)
图形生成器的新时代!
请参阅: @XanGregg的JMP 19 图形生成器新功能
您想按年龄统计学生人数 - 只需将年龄拖到 x 轴上,计数就会自动调整到新的类别: