使用显示框在此演示中,我们将了解显示框在报表层中的组织方式,并了解我们如何访问这些显示框的内容。 所以在课程日志的部分,我将点击 Cure Time Data。 因此,我将使用双变量平台中的两个 Cure Time 列对 Cure Time 数据进行简单的相关性分析和简单的线性回归。 我们将了解如何使用选择工具来探索报表并了解该报表层。 所以我将进入分析菜单并选择用 X 拟合 Y。 然后我将 Cure Time 放在 Y 角色中,将 Cure Time 放在 X 角色中,然后单击 OK。 我将转到 Bivariate Fit 旁边的红色三角形并选择 Density Ellipse。 我将使用该选项。 然后返回顶部的红色三角形菜单,我将选择拟合线。 因此,这为我们提供了显示树的许多组件。 所以交互式地,我们可以使用选择工具来选择报告的一部分。 我们实际上是在选择显示框。 所以如果我来到我的菜单和工具栏,我可以得到这个白色的大加号,或者你可以输入一个 S 代表选择工具,或者你可以去工具菜单。 所以这改变了我的光标。 如果我想选择这个图表,你可能会认为你只需点击它的中间。 但我实际上只得到了框架框,它是构成报告这一部分的显示框之一。 那么,我可能会想,哦,好吧,我必须点击它之外。 然后我得到一个访问框,它又是构成报告这一部分的另一个显示框。 因此,当我以交互方式执行此操作时,我可能不得不尝试将光标一直移到最边缘以获取该图的所有组件,尽管我没有图例。 但如果我愿意,我也可以得到它。 我还可以选择大纲项目。 所以我要点击披露按钮。 即使在使用选择工具时,我也可以单击它。 大纲显示按钮仍会响应。 但是我现在可以使用选择工具来选择整个大纲项目,或者如果我可以再次单击它,取消选择 - 以选择该大纲项目中的各个列。 当您使用报表层编写脚本时,其中一件事是您可能希望使用选择消息,它会以交互方式执行与选择工具相同的操作,以确保您的目标是正确的部分开始提取值之前的那个报表层。 所以我要切换回我的箭头光标。 我可以转到工具栏,或者我可以简单地输入一个 A。 我们用于理解显示树的一个方便的功能是一个名为“显示树结构”的菜单选项。 我只是要看看这个二元正态椭圆。 因为这个大纲项上没有红色小三角菜单,所以我可以右键单击大纲项。 如果我想得到整个报告的这个树结构,那么顶部的大纲项,因为它有一个红色的三角形菜单,如果我右键单击那里,我只会得到红色的三角形菜单。 因此,如果我想要整个树结构,我会右键单击 Disclosure 按钮。 但这是一个非常大的树结构。 所以我更喜欢使用单独的报告表。 虽然,如果我想了解这个图的树结构,当然,我必须去那个顶层。 但是对于 Bivariate Normal Ellipse 大纲项,我要右键单击,然后在 Edit 下选择 Show Tree Structure。 让我并排移动这个。 因此,这只是显示构成树结构这一部分的各种显示框的大纲项目。 一个不错的功能是它连接到该报告窗口,因此当我将鼠标悬停在树结构中的各种组件上时,它们会突出显示,如您在该表中所见。 所以这是我可以确保正确定位我想要的显示框的另一种方法。 所有这些显示框都只有索引值,尽管大纲框也包含名称。 我们将看到如何使用比索引值更多的信息来定位这些项目。 首先,让我们获取脚本以重新创建此报表,然后获取报表层对象引用。 我将关闭树形结构窗口,转到 Bivariate Fit 旁边的红色三角形,然后选择 Save Script To Script Window。 我会继续调整它的大小。 您在这里看到的一件事是 SendToReport,这只是因为我扩展了 Bivariate Normal Ellipse 大纲项。 所以你可以看到那里有一个带有布尔值的关闭。 因此,如果您只是想再次运行它而不打开它,则可以摆脱它。 我要把它保存在里面。 现在我有一个脚本可以重新创建它,我想关闭原始报告,因为我不想将它与创建此二元对象实例时生成的报告混淆。 因此,在脚本的顶部,我将在变量 biv 中存储分析层对象引用——这是启动平台的结果。 所以我分配那个。 我将在这里使用当前数据表的简写,然后发送消息——哎呀,我不需要输入,对吗? 因为我已经写好了那个脚本。 然后我将运行脚本。 这样就启动了这个新的双变量对象。 然后,在我的脚本编辑器的最后一行,我将获得那个报表层对象引用。 所以我将它存储在变量 rbiv 中。 我会将收到消息“报告”的 biv 分配给它。 请记住,还有一种替代语法,其中 Report 实际上在括号中包含 biv 作为名称后面的参数。 我们将在即将到来的演示中看到该示例。 所以我只想运行这一行。 现在,请注意 rbiv 中存储的内容。 我们将平台名称存储在 biv 中。 但是在 rbiv 中,我们只有 DisplayBox[OutlineBox]。 所以我没有那么多细节。 我只知道它是一种什么样的展示盒。 但这就是报表层的对象引用的样子。 现在,在我做任何其他事情之前,我想注释掉行,因为我不想意外地重新运行脚本,打开一个双变量拟合的新窗口,然后关闭错误的窗口,以便我关闭那个当前——它的引用当前存储在 biv 中。 我以前做过。 然后,当然,它不会响应消息,因为它不再打开,即使另一个打开了。 所以选择了所有这些,我要右键单击。 在高级下,我将选择评论块。 而且我要注意的是,因为在我评论之后我在脚本编辑器中没有任何其他行,所以它使用的语法是用正斜杠星号打开评论,用星号正斜杠关闭评论。 如果还有其他行,它会在每一行分别用两个正斜杠注释。 但是我仍然可以再次选择它们并右键单击以一次取消注释。 所以这不需要那么宽,但我确实希望它更高一点。 我会把它移到一边。 让我们把双变量窗口移到外面。 我会去一个新的线路。 实际上,让我在报告窗口中右键单击 Bivariate Normal Ellipse,Edit,Show Tree Structure。 所以这是大纲框 所以当我下标 rbiv 时,我可以选择只使用那个索引值。 所以 OutlineBox,然后在括号中,我将发送消息“选择”。 所以这就是我可以编写脚本而不是使用选择工具的方式。 我会运行那条线。 你可以看到轮廓框已经被选中。 现在,如果这是我想要定位的大纲项目,我不想让它保持选中状态。 我只是使用 Select 来验证我指向的位置是否正确。 所以我要发送消息“取消选择”,运行该行,然后取消选择它。 假设我想深入研究均值列。 这样我就可以附加另一个下标,我会将消息改回“选择”并运行它。 这样就选择了手段的列。 现在,还有什么方法可以让我更明确地引用这些显示框? 好吧,我实际上可以使用大纲的名称,而不是调用它。 事实上,这取代了这里的整个下标。 它说我只是提供字符串。 现在,这是一个长字符串。 所以我将使用那个通配符。 我将在这里打开我的双引号并输入“Bivariate Normal”。 我也只需输入 Ellipse 这个词,然后输入问号,这样我就不必指定 P 等于我将关闭那些双引号。 然后,对于数字列框,可能不使用索引值,因为那里有一个列标题 - 与拟合摘要不同,我必须在此处使用索引值。 但是有一个名为 Means 的列标题。 所以我要替换我仍然不得不说它是一个数字列框。 但我将用字符串 Mean 替换 。 然后我会将消息更改为“取消选择”。 所以我运行那条线,它也有效。 事实上,我会推荐这种语法,因为它非常明确地说明了我们正在查看的大纲框,以及我们正在查看的列。 让我们在参数估计的背景下来看看这个。 我要从 Bivariate Normal Ellipse 窗口关闭树结构,然后右键单击 Parameter Estimates 并转到 Edit,Show Tree Structure。 因此,对于第一个下标,我将用 Parameter Estimates 替换该字符串的内容。 假设我想要估计的列。 好吧,如果我使用名称,当有列标题时,这也是我们推荐的最佳做法,我将发送“选择”消息,效果非常好。 现在这就是我向您展示这个示例的原因。 如果我查看树结构,估计的列是那么如果我指定并尝试取消选择它会发生什么? 好吧,我收到一个错误——无法下标显示框并访问或评估 rbiv 等。 它没有给我大量的信息。 但我从经验中知道,这意味着一旦我指向参数估计大纲项,列框的计数就会在该大纲项中重新开始。 所以这实际上是在参数估计中。 如果我现在运行它,它将起作用。 如果我想简单地将下标作为 rbiv 的唯一下标,那也可以。 所以有很多不同的下标方式。 但同样,我们建议使用大纲项目名称尽可能明确,如果有列标题——让我把 Estimate 列标题放回这里——使用它来确保我们正在编写一个脚本将对显示树结构的变化具有鲁棒性。 这些更改可能与 JMP 的新版本有关,也可能源于用户的偏好,报告显示在感兴趣的表格上方,并更改了这些列框或其他显示框的编号。 因此,只要我们可以使用大纲项目名称和列标题,我们就想这样做。 现在选择和取消选择,那只是为了开发。 在某些时候,我可能想要真正获得这些值。 我想检索参数估计值,可能将它们存储在变量中。 我不会在这里这样做,但你当然可以,这可能是你想做的。 因此,如果我只是将消息“get”发送到报表层的下标部分,则返回的是包含这两个值的列表。 我可以将该消息更改为“获取为矩阵”,返回的是这些值的矩阵。 好吧,如果我不关心拦截怎么办? 我只想要斜率的估计值。 我想要第二个。 好吧,一种方法是发送带有括号的消息“get”,然后我运行它,然后我只需检索第二个值。 更优雅的方法是根本不发送消息,但是一旦我们深入到参数估计大纲项,估计列框,我可以再次下标并请求该列中的第二项,它返回同样的结果。 因此,访问显示框只需将 Report 作为消息发送到存储分析图层对象引用的变量,或者您可以将存储分析图层对象引用的变量包装在 Report 中。 然后,我们使用下标访问显示树的组件。 并且有很多不同的下标方式。 下标时,最佳实践应尽可能明确。