堆叠和连接

此演示展示了“表格”菜单中的另外两个命令——“堆叠”和“连接”命令。在“日志”部分,我将再次点击“固化时间数据”。此表的组织结构是每个固化时间样本都有其单独的列。例如,如果我想比较五个不同固化时间的平均值,这种分析需要数据结构——JMP 需要数据结构化,以便有一列指示固化时间,另一列指示实际数值。因此,为了以这种方式重新排列表格,我们可以使用“堆叠”命令。“堆叠”命令会将我们所谓的宽表(虽然这个表不是很宽)转换为高表。我将以交互方式执行此操作,然后从 JMP 创建的源脚本中获取脚本。因此,我将转到“表格”菜单并选择“堆叠”。然后,我将从“固化时间”中选择“固化时间”,然后单击“堆叠列”。我将保留大多数默认选项的选中状态。我会添加一个输出表名——我将其命名为“堆叠固化时间数据”。然后,我需要提供新的列名。堆叠数据列将是实际固化时间值。因此,我将为此列写入“固化时间”。源标签列——我将称之为包含先前列标题的列。我将其命名为“样本”。然后点击“确定”。现在,我的表格不再是六列六行,而是三列三行。默认情况下,JMP 会保留未参与堆叠的列。这是对话框中的一个选项,如果您不想保留,可以取消选中。现在,如果我确实想进行方差分析来比较每个列的均值,我有一个样本列,它将在 Oneway 平台中充当 X 分析角色。但我想获取这个源脚本。因此,我将右键单击该脚本,然后选择“编辑”。然后,我只需选择其中的内容即可。您也可以使用键盘快捷键 Ctrl+A。或者您可以右键单击。这是一个小脚本,所以我只是手动高亮显示它。我要复制它,同样,您可以使用键盘快捷键或右键单击。然后我会取消并退出该窗口。我这样做是因为我有一个叫做“历史固化时间数据”的表格,我马上就会打开它,它已经格式化为这种堆叠格式。如果我想把这两个表合并成一个表,它们要么都需要采用这种高格式,要么都需要采用宽格式。所以我继续——我刚刚得到了堆叠固化时间数据的脚本。我将关闭它而不保存,然后打开一个新的脚本编辑器窗口——同样,键盘快捷键是 Ctrl+T。然后我会按 Ctrl+V 粘贴它。在开始之前,我想给这个新的堆叠数据表提供对象引用。我想把它存储在一个变量中。所以我把这个命名为 dtStacked。我会把刚刚粘贴的脚本的结果赋给它,并添加一个分号。现在,我点击日志中的脚本打开“历史固化时间数据”。再次强调,这是高格式。如果我想在合并这些数据时保持宽格式,可以使用“表格”菜单中的“拆分”命令,它的作用与“堆叠”相反。但由于我已经堆叠或获取了较新固化时间数据的脚本,所以我将堆叠该脚本。然后,我想将较新的数据与历史固化时间数据连接起来。表格连接只是垂直追加。打开两个窗口后,我将返回脚本并换行。虽然我不会再使用这个新的数据表,但我将继续将引用存储在一个名为 dtUpdated 的变量中。我会签名表示历史固化时间数据接收连接消息的结果。我要输入“数据表”,然后用双引号“历史固化时间”引起来。或许你能理解,为什么在我打开两个数据表的情况下,这种语法比“当前数据表”更受欢迎。然后,我将输入“发送”运算符 concatenate,它也来自“表格”菜单。然后在括号中,我将输入存储堆叠后较新的固化时间数据的变量名称。dtStacked 是 concatenate 的参数。此外,您还可以提供许多其他参数来连接数据表。如果您转到“表格”菜单并选择“连接”,您可以在对话框中看到这些选项。实际上,您可以以交互方式执行此操作,使用其中一些选项,然后获取源脚本。但为了我们的目的,我将保持简单,仅提供要附加到历史固化时间的表格。因此,脚本会堆叠较新的固化时间数据表(即我们迄今为止一直在使用的表),然后将其附加到历史固化时间(该表已经是高格式)。因此,我将运行整个脚本,并在中间步骤获取堆叠的固化时间数据。实际上,一旦我们将数据收集到新的未命名数据表中,您的脚本可能就希望关闭此数据表。再次强调,连接——我们可以在更完整的脚本中提供输出表名称。所以,您刚才看到了表格菜单中的几个示例,以及我们可以获取该源脚本,然后对其进行修改、调整或将其插入到我们正在处理的另一个脚本中的想法。