脚本分析在本演示中,我们将了解如何编写 JMP 中一些常用平台执行的分析脚本。 在日志部分中,我将单击混凝土强度和湿度数据,这是我将用于本演示中所有示例的数据集。 因此,我们得到了混凝土混合物的类型、混凝土强度以及混凝土干燥时的环境湿度。 我将把它移到一边,因为在整个演示过程中我们不会真正看桌子。 回到课程日志中,我将单击分布分析脚本。 所以在这个预先编写的脚本中,我们将分发作为消息发送到数据表 Concrete 并将结果存储在一个变量 dist 中——存储该对象引用。 同样,这将是分析层对象引用。 我将所有三列——具体类型、湿度和强度——放在 Y 分析角色中,然后我还在启动期间为所有三列请求相同的选项,但我们将在何时看到我们打开了报告窗口,但并非所有列都可以响应所有这些选项。 因此,我将逐行介绍当我们启动平台时,从参数到分发的几件事——堆栈是红色小三角菜单中的一个选项——在顶部,下一个分布——它只是改变了将直方图更改为水平,更改我们通常在直方图下方看到的报告表格的位置,以及它们是否排列 - 直方图本身是并排或垂直排列的。 所以堆栈是红色三角形菜单中的那个选项——你可以看到我们的脚本使用布尔值来关闭它。 所以你的脚本可能会选择这样做,因为这实际上是一个非常常见的选项,用户会改变他们的偏好,所以他们总是有堆叠分布。 如果以默认方式组织这些对脚本的结果很重要,您可能需要关闭堆栈。 此外,我们指定直方图是垂直的。 这可以在直方图选项下每个红色三角形的单个红色三角形菜单中找到。 所以你可以看到这里已经检查过了。 同样,这是默认设置,因此脚本只是试图确保演示文稿看起来与 JMP 中的默认设置相同,而不管用户偏好如何。 现在,脚本中的下一行——我们关闭了分位数。 好吧,分位数仅适用于连续变量。 如果您查看这些子菜单中混凝土类型旁边的红色小三角菜单,您将找不到“分位数”一词。 但是,如果我查看湿度或强度旁边的红色三角形,在显示选项下,分位数实际上通常会默认打开,但您可以在此处看到它没有在此菜单中选中,因为我们使用了布尔值类似地,离群值箱线图通常为连续变量打开。 我们用布尔值将其关闭,因此我们没有异常值箱线图。 最后,我们请求了带有布尔值的正态分位数图,这通常不会打开,但我们已经请求了这些变量。 同样,这是平台启动的一部分,因此能够响应这些命令的变量就是这样做的。 现在,一旦我们启动了平台并将对象引用存储在一个变量中,通过分布,我可以一次与所有变量进行通信,或者我可以将消息发送到各个列或变量。 我用下标来做到这一点。 所以这一行只显示我们将拟合分布(正态)——因此拟合正态分布——发送到所有三列。 当然,具体类型是名义上的——不能对此作出反应,但湿度和强度会作出反应。 所以我会运行 line 你可以看到我们有拟合的正态分布覆盖在两个连续分布上,我们也得到了拟合的正态轮廓项。 这又是来自红色小三角菜单的命令。 拟合分布是该命令的旧名称。 它在较新版本的 JMP 中称为连续拟合,但它们仍然有效。 还有一件事我想注意——让我回到日志。 当我运行脚本启动发行版时,显示的是平台的名称。 这表明我有一个分析层对象引用。 在脚本中,如果我将鼠标悬停在 dist 上,这就是我要看到的。 而当我事后从红色三角形菜单发送命令时,我刚刚得到了“可编写脚本”的结果。 现在,lines 和将要对均值进行单样本检验。 在红色小三角菜单中,命令只是测试均值。 但它没有意义,对于湿度 - 我的样本均值和强度为我的样本均值是关于它对我来说测试这两者的相同假设均值并没有真正意义。 因此,让我实际向您展示它的交互方式。 如果我转到连续变量旁边的任一红色三角形并选择检验均值,我会为假设均值输入一个值。 所以我将取消它并返回脚本编辑器窗口。 因此,我正在测试均值是否等于这一行,并将其发送到分布窗口的第三列。 所以我用数字为 dist 下标 所以我会运行 line 如果我导航到 Report 窗口,就会有一个均值的单样本 t 检验。 然后,我将做同样的事情,对于湿度具有不同的假设平均值和我下标的方式会有点不同。 我将使用列的名称作为字符串——作为我的下标——而不是它在报告中的位置。 所以我会跑线,在那里我得到了湿度的 t 检验。 这只是分发平台和使用红色小三角菜单中的命令编写分析层脚本的几个示例。 让我们继续到 One-Way 平台。 我将继续关闭分发脚本以及分发报告,但我仍将使用具体数据表。 所以在日志中,我要点击单向方差分析脚本。 这是一种广泛的开始。 我们已经在一条线上完成了整个发布。 所以我们将消息发送到数据表 Concrete。 消息是单向平台启动,其中 Y 角色为强度,X 角色为具体类型,我们要求使用该布尔参数打开这些平均菱形。 我们将分析层对象引用存储在 ow. 所以我会运行 line 这样我们就得到了我们的输出窗口,当然还有平台的名称。 如果您将鼠标悬停在它上面,这就是将存储在 ow 中的内容。 那些绿色的平均菱形——如果我去单向分析旁边的红色三角形,你可以在显示选项下找到平均菱形。 默认情况下,如果我还没有进行方差分析,这些将不会打开。 但我的脚本可以打开它们。 现在,我现在不需要这个脚本窗口那么宽了。 让我们在这里再举几个例子。 因此,在此处的红色小三角菜单中,我们有一个设置 Alpha 级别的选项。 并且有三个标准值。 然后还有一个您可以选择的其他。 所以在这个例子中,我将消息发送到 ow,Set Alpha Level。 我将把它设置为 并且注意这些绿色均值菱形的高度——这是均值的置信区间,或者换句话说,均值的负 alpha 置信区间。 所以默认的阿尔法是所以如果我将阿尔法水平设置为这些将是置信区间。 所以他们会变得更高。 所以我会跑线所以我们看到那些平均钻石的高度发生了变化。 如果我转到红色三角形,我们可以为单向平台请求的另一份报告是分位数报告。 所以我在线打开它并注意这个菜单中没有子菜单的命令 - 它们可以在括号中使用布尔参数,或者正如你在 ANOVA 上看到的那样,这是同义词有了手段,他们根本不必接受任何参数,而具有子菜单的菜单项将把这些子菜单项作为他们的参数。 稍后我将讨论为什么我们可能要使用该布尔参数,即使它不是必需的。 但是现在,我将运行 line 所以这给了我 Quantiles 报告表以及在图上放置箱形图。 现在,请记住,ANOVA 和均值是同义词。 所以这只是红色小三角菜单中的另一个命令。 但同样,我没有将括号放在布尔参数中。 那么当我运行 line 时会发生什么,我会运行它。 我得到了方差分析。 再次,我应该指出,在日志中,我们每次与其交互时都会看到该平台名称。 现在,如果我再次运行 line 会发生什么? 我在日志中收到一条消息 - 一条带有空布尔参数的消息启用了一个已启用的选项。 该选项保持启用状态。 它只是提到,在以前的 JMP 版本中,您实际上可以通过一遍又一遍地运行该行来来回切换,而无需提供布尔参数。 因此,如果您曾经查看以旧版本编写的脚本,您可能会看到这一点。 但是,我们将建议您始终使用该布尔参数作为最佳实践,以便在您的脚本中清楚地表明我正在打开此选项而不是关闭它。 然后当我想删除它时,如果我想删除它,我会运行一条带有布尔值的行。事实上,让我们这样做来关闭分位数报告。 因此,在行中,我将替换为 a 并运行那一行。 所以现在分位数选项已被删除。 最后,我们在之前的演示中看到您可以将消息级联到对象。 但我们也可以向对象发送消息列表。 所以我将在脚本编辑器窗口中获得一个新行。 存储我的分析层对象引用的变量 ow 将收到该消息。 这将是一个列表,Unequal Variances。 我将使用该布尔参数来打开它。 让我来看看红色三角形菜单。 所以有不等方差。 这给了我们异方差性的检验。 然后我会在不等方差的布尔参数上加上一个逗号,右括号。 我要将 alpha 级别返回到默认值 所以我将键入 set alpha level 然后在括号中,我需要关闭括号,因为我在完成之前将光标移出这行代码打字。 然后我将在列表上用箭头标记——让我移动它,这样我就可以看到整行——并加上一个分号。 因此,我可以再次使用数字键盘上的 Enter 键运行这一行。 现在在窗口底部是 Unequal Variance 测试。 在顶部,您可以看到我们已经将 alpha 水平恢复到了所以这些我们现在的置信区间。 小蓝线只是来自不等方差检验。 因此,仅举几个在单向平台中使用红色三角形命令编写脚本的示例——让我们关闭此报告窗口并关闭此脚本而不保存更改。 在日志中,我将单击双变量脚本。 同样,我们正在使用数据表 Concrete。 所以存储这个分析层对象引用的变量是 biv。 我将 Bivariate 发送到该数据表,其中 Y 角色为强度,X 角色为湿度。 我请求 Fit line,它来自作为平台启动的一部分的红色三角形菜单。 因此,我将逐行运行 再一次,我们在日志中看到平台名称。 如果我将鼠标悬停在 biv 上,这就是我所看到的。 所以我们绘制了强度与湿度的关系,拟合回归线。 然后是其他一些消息——所以如果我再次转到那个红色三角形,那就是 Fit Line。 事后我可以发送任何其他命令。 实际上,我本可以在发布后发送 Fit Line。 但我将使用拟合多项式。 你看到有那个子菜单。 所以我们将不得不使用这些论点。 然后我将这条消息发送给 biv,Fit Polynomial 所以二次或二阶多项式。 我会运行那条线。 所以这给了我第二次合适的机会。 当我向上滚动时,您可以看到第二次拟合叠加在图表上。 我这里有两个红色三角形菜单,一个用于线性拟合,一个用于多项式拟合。 它们有自己的命令,这些命令与窗口顶部的双变量拟合级别的命令不同。 例如,如果我想在线性拟合上对置信带进行阴影拟合——命令是 Confid Shaded Fit——我实际上必须做一些特别的事情。 我必须先与线性拟合进行沟通。 然后接收该消息的线性拟合的结果作为消息发送给二元拟合。 这里的脚本方式——我们只是将第一个称为——它们都被称为曲线。 我们使用下标它接收消息 Confid Shaded fit。 这是在括号中收集的。 这就是 biv 收到的信息。 如果我没有这些括号,biv 会尝试理解 Curve,当然,您不会在此处的任何子菜单或主菜单中的任何地方找到 Curve。 和 Confid Shaded Fit 你不会在这里找到。 这与此曲线相关联,该曲线在报告中标记为“线性拟合”。 因此,如果我运行所有线,我就会在我的回归线上得到阴影置信带。 同样,在这些红色三角形菜单中的任何一个中,但我将单击多项式拟合旁边的那个,我们可以更改线条颜色。 第一次拟合默认为红色,第二次拟合为绿色,依此类推。 所以假设我想把它改成蓝色。 同样,我可以将其发送到第二条曲线,将其包裹在括号中,这就是传递给 Bivariate 的信息。 所以我会运行 line 你可以看到那条线的颜色已经改变了。 现在,这也是一些事情。 如果您想知道如何编写脚本,并且不需要在启动后将其作为消息发送到平台(您希望将其作为启动的一部分),您可以交互地执行此操作,然后JMP 将该脚本保存到脚本窗口并以这种方式使用它。 如果您要这样做,那么 Confid Shaded Fit 将是 Fit Line 的一个参数。 您还可以将多项式拟合为启动的参数。 线条颜色将是一个论据。 我们在这里要查看的最后一件事是 Bivariate 平台,但在 By 角色中有一个变量,因此我们将为该 By 变量的每个级别获得单独的双变量对象。 所以我将关闭脚本窗口。 我将关闭双变量报告。 在课程日志中,我将单击 Grouped Bivariate Script。 因此,在前面的脚本中,我通过将消息发送到混凝土数据表来启动 Bivariate 平台,该数据表将结果存储在变量 biv 中,其中 Y 角色为强度,湿度角色为 X。 但是现在,我还把具体类型放在了分析角色中。 所以让我们看看当我运行线条时是什么样子 所以我们在这个报告窗口中实际上有六个二元对象。 我在日志中看到的是已经分配了一个包含六个元素的列表。 那么,这个列表是什么样的? 我将回到脚本编辑器窗口并将鼠标悬停在 biv 上。 它是六个双变量对象的列表。 这样我就可以给 biv 发消息了。 并且所有对象都会响应,就像我发送 Fit Line 时一样。 日志中显示的是所有响应对象的列表。 如果我们查看窗口——我将通过按住 Ctrl 键并单击第一个线性拟合旁边的轮廓展开按钮来实际折叠所有这些线性拟合。 因为我按住 Ctrl 键,这将广播到窗口中的所有这些报告,这样我就可以更轻松地滚动。 您可以看到我们已经对 Consolidated Reinforced、Consolidated Standard、EZMix Reinforced、EZMix Standard 等进行了双变量拟合。 现在,如果我只想定位一些对象,而不是所有的二元对象怎么办? 好吧,我使用下标。 我可以使用一个单独的下标来定位一个。 但是,让我们看一下两个示例,其中我们希望有多个对象响应。 因此,在下标行中,我们提供了我们想要响应的对象的索引值列表。 我希望第一个和第三个双变量对象适合该二次模型,度的多项式 所以我运行 line 再次,我将使用 Ctrl 键折叠多项式适合轮廓项,以使滚动更容易一些。 所以第一个对象,第一个二元对象,具有多项式拟合。 第二个没有。 第三个可以。 当然,第四,第五和第六没有。 然后在最后一个示例中,我再次使用 Index 函数,使用它的运算符,即两个双冒号的中缀运算符。 因此,这将从第一个数字到第二个数字的增量为 。因此,这将转到“拟合样条线”是“灵活”下红色小三角菜单中的一个选项。 你可以看到你可以提供的所有不同的论点。 所以我们正在与一个相当灵活的样条曲线进行二元化,所以我将运行 line 再次,在日志中注意 - 我忘了指出这一点。 但是当我只向其中两个对象发送消息时,我得到一个包含两个对象的列表。 刚才当我向其中三个对象发送消息时,我得到了三个对象的列表。 如果我们看一下,我们可以看到第一个和第二个双变量拟合没有得到样条曲线。 第三个做到了。 第四个做到了。 第五个做到了。 而第六个没有。 因此,我们可以使用 By 角色,并为该 By 变量的每个级别提供单独的分析、单独的对象。 然后我们可以与他们一起或单独与他们交流。 因此,这些只是在一些常用 JMP 平台中启动分析层并与之交互的几个示例。