| 扬声器 |
文字稿 |
| 我的步 |
欢迎参加JMP Discovery峰会。 |
| |
我是 JMP 产品经理 Mia Stephens,今天和我一起的是 JMP 系统工程师 Jordan Hiller。今天我们要讨论的是如何实现数据管理工作流程的自动化。 |
| |
我们将把演讲分为两部分。首先,我将介绍分析工作流程以及数据整理在这一工作流程中的作用,以此作为开场白,为接下来的内容奠定基础。 |
| |
接下来,我将把话筒交给乔丹,让他来谈谈本次演讲的重点和核心内容。我们将讨论可复现数据管理的重要性。 |
| |
我们将看看如何在 JMP 15 中实现这一点。然后,您将先睹为快 JMP 16 中的一些新功能,这些功能可以记录数据整理步骤以及您为分析准备数据而采取的操作。 |
| |
那么,我们来思考一下分析工作流程。这里介绍一种常用的工作流程。当然,这一切都始于定义你的业务问题,理解你试图解决的问题。 |
| |
接下来,你需要整理数据。当然,你可以从多个不同的数据源收集数据,并将其导入JMP。最后,我们需要能够分享结果,并与他人交流我们的发现。 |
| |
这个过程中最耗时的部分可能是准备用于分析的数据或整理数据。 |
| |
那么,数据管理究竟是什么?简单来说,数据管理就是确保我们的数据能够有效地推动分析发现。从根本上讲,我们希望能够在有限的时间内解决问题。 |
| |
这主要涉及数据组织、数据结构以及清理数据质量问题。 |
| |
如果思考数据方面的问题或常见问题,它们通常可以归为四类:格式错误、数据不完整、数据缺失,或者数据混乱不堪。 |
| |
为了探讨这类问题,并说明我们如何从数据中识别这些问题,我们将借鉴我们课程 STIPS 中的内容。 |
| |
如果您还不熟悉 STIPS,STIPS 是我们的免费在线课程“工业问题解决的统计思维”,它分为七个部分。 |
| |
各个模块独立运作。模块 2 完全是关于探索性数据分析。 |
| |
由于探索性数据分析和数据整理具有交互式和迭代性,本模块的最后一课是数据准备。这部分内容主要包括识别数据中的质量问题以及整理数据的步骤。 |
| |
那么我们再来详细谈谈常见问题。格式错误。那么,格式错误是什么意思呢? |
| |
嗯,这指的是你的数据格式或形式不符合分析要求。这种情况可能影响整个数据表。例如,你的数据可能分散在不同的列中,但为了进行分析,你需要将所有数据合并到一列中。 |
| |
这可能适用于单个变量。您可能使用了错误的建模类型或数据类型,或者您可能拥有日期数据,但 JMP 中显示的日期或时间格式不正确。 |
| |
这也可以是美化。您可以选择将响应变量移到数据表的开头,重命名变量,或将因子分组,以便更容易在数据表中查找它们。 |
| |
数据不完整是指缺少数据。这可能涉及重要的变量,因此您可能无法收集到最终有助于您解决问题的变量数据。 |
| |
或者取决于变量的组合。也可能意味着你的观测值不够,数据表中的数据量不足。 |
| |
缺失数据是指变量的值不可用。这种情况可以表现为多种不同的形式。 |
| |
最后,当观测值或变量出现问题时,就会出现脏数据或混乱数据。 |
| |
所以你的数据可能不正确。这些数值本身就是错的。可能是人们在记录数据或将数据输入系统时存在不一致的情况。 |
| |
您的数据可能不准确,可能没有合适的测量系统,也可能存在错误或拼写错误。 |
| |
数据可能已经过时。例如,您可能收集了有关已停用的设施或机器的信息。 |
| |
数据可能已经过时。也就是说,自您收集数据以来,流程可能发生了很大变化,导致数据不再适用。 |
| |
数据可能经过审查或截断。可能存在冗余的列,它们包含相同的基本信息,或者存在重复的行。因此,混乱的数据可能呈现多种不同的形式。 |
| |
那么,如何识别潜在问题呢?其实,当你查看数据时,问题就会开始显现。事实上,这是一个迭代的过程。当你开始以图表和数字的方式探索数据时,就会发现一些可能需要解决的问题。 |
| |
或者解决问题。因此,一个不错的起点是先扫描数据表。扫描数据表时,您通常可以发现一些显而易见的问题。 |
| |
在这个例子中,我们将使用来自 STIPS 课程“组件”的一些数据,场景是一家生产小型组件的公司,他们正在努力提高良率。 |
| |
他们收集了369批零件的数据,共15列。所以当我们查看这些数据时,可以立即发现一些非常明显的问题。 |
| |
如果我们看一下数据表的顶部,可以看到这些漂亮的小图表,就能看到分布的形状,也能看到具体的数值。 |
| |
例如,批号的直方图就是一个例子。批号通常被认为是一个标识符,而不是一个连续的变量。因此,这可能表明数据编码有误。 |
| |
当我们观察报废车辆的数量时,可以看到分布的形状。我们还可以看到其中包含负值,这似乎不太合理。 |
| |
我们看到过程的直方图有两个值,这可以告诉我们,我们需要将过程的建模类型从连续型更改为名义型。 |
| |
查看列面板时,您可以看到更多信息。例如,批号和零件号都被编码为连续值。这些可能是标称值。 |
| |
如果你仔细查看数据本身,你会发现其他问题。例如,湿度通常被认为是连续变量,但你会发现有几个观测值的值为 N/A。 |
| |
由于 JMP 识别的是文本,因此该列被编码为名义列,所以您可能需要修复这个问题。 |
| |
我们发现供应商方面存在一些问题。有几个值缺失,还有一些拼写错误。请注意,温度数据中所有的点都表示这些行缺少温度值。因此,这是一个我们需要进一步调查的问题。 |
| |
因此,只需浏览数据表即可发现很多问题,而当您一次可视化一个变量的数据时,还可以发现更多潜在问题。 |
| |
列查看器是一个非常好的起点,我非常喜欢这个工具。列查看器可以提供你所选所有变量的数值汇总信息。 |
| |
例如,这里我缺少一些数值。你可以看到,温度数据缺失了369个值中的265个。如果我们认为温度是一个重要因素,那么这可能会是个问题。 |
| |
我们还可以看到数据表中记录的值存在潜在问题。例如,报废率和报废数量都存在负值。 |
| |
如果这在物理上是不可能的,那么我们可能需要在我们收集数据的系统中对此进行调查。 |
| |
通过查看一些计算出的统计数据,我们还可以看到其他问题。例如,批号和零件号实际上应该是分类数据。 |
| |
使用平均批次号或平均零件号是没有意义的。所以这表明您应该返回数据表并更改建模类型。 |
| |
分布情况能告诉我们很多关于数据和潜在问题的信息。我们可以看到分布的形状、中心位置和离散程度。我们还可以发现拼写错误。 |
| |
这里指的是客户编号,具体问题在于有四五个主要客户和一些小客户。如果您要使用客户编号进行分析,您可能需要使用重新编码功能,将一些小客户归入其他类别。 |
| |
我们有湿度柱状图,这是因为该列中存在 N/A 值。我们在浏览数据表时可能没有注意到这一点,但在这里查看分布图时可以很清楚地看到。 |
| |
我们可以清楚地看到供应商的拼写错误。 |
| |
当我们观察连续变量时,不仅可以观察其形状、中心位置和分布情况,还可以观察这些变量中的一些异常观测值。 |
| |
因此,在逐个变量地查看数据之后,一个自然而然的下一步就是逐个变量地探索数据。 |
| |
例如,如果我们在图表生成器中查看报废率与报废数量的关系。 |
| |
我们发现大家对模式很感兴趣。所以我们看到了这些条带,也许我们的数据表中有一些信息可以帮助我们解释为什么会出现这种模式。 |
| |
事实上,如果我们按批量大小来着色,那就更有意义了。例如,5000 个零件的批量比只有 200 个零件的批量更容易出现废品。 |
| |
我们还可以看到底部有一些奇怪的观测值。事实上,这些观测值的废料数量为负值,它们在这张图表中非常显眼。 |
| |
添加列切换器或数据筛选器后,可以为这些图表添加一些额外的维度。这样我就可以查看压力了。 |
| |
例如,而不是…… |
| |
我可以查看压力或切换到停留时间。我在这里想要了解的是这些变量与响应之间的总体关系。 |
| |
我可以看到压力似乎与废品率呈正相关。但如果我切换到停留时间,我发现两者之间可能没有太大的关系。 |
| |
停留时间和废品率或温度。因此,这些变量可能对解决问题帮助不大。 |
| |
但看看速度,速度与此呈负相关。另外,我在顶部还有一些不寻常的观察结果,或许值得研究一下。 |
| |
所以,只要查看数据,你就能了解很多关于数据的信息。 |
| |
当然,还有更高级的工具可以用来探索异常值和缺失值,但这超出了本次讨论的范围。 |
| |
当你进入分析阶段,开始分析数据或构建模型时,你会了解到更多关于你必须处理的潜在问题。 |
| |
关键在于,在查看数据并识别这些问题时,要将这些问题记录下来。 |
| |
有些问题可以在处理过程中解决。因此,您可以在处理过程中对数据进行重塑和清理。 |
| |
但你真的需要确保记录下你采取的步骤,以便以后如果需要重复分析,或者想要对新数据或其他数据重复分析,就可以重复这些步骤。 |
| |
接下来,我将把话筒交给 Jordan,让他来谈谈可复现的数据管理以及它的意义所在。 |
| 乔丹·希勒 |
好的,谢谢,米娅。太棒了。我们了解了你在 JMP 中如何通过点击操作完成数据整理。现在我们来谈谈如何让这个过程可复现。 |
| |
我们之所以担心可复现性,是因为您的数据集会定期更新新数据。如果这是一次性操作,我们不会太在意点击操作本身。但当数据反复更新时, |
| |
每次都通过点击操作重复数据整理工作太费力了。 |
| |
因此,更高效的做法是生成一个脚本来执行所有数据整理步骤,然后只需单击一个按钮即可执行该脚本。 |
| |
一次性完成所有事情。因此,除了效率之外, |
| |
它记录了你的工作流程,作为你所做工作的记录。这样,你以后可以查阅它,提醒自己做了什么;对于接手这项工作的后续人员来说,它也是一份记录。 |
| |
在本次演示的剩余部分,我的目标是向您展示如何仅通过点击操作生成数据整理脚本。 |
| |
我们希望您无需编写任何程序代码即可完成此操作。程序代码将被提取并保存,我们稍后会简要介绍具体操作方法。 |
| |
所以这里分为两个不同的部分。一部分是您现在在 JMP 15 中可以执行哪些操作来获取数据整理脚本,另一部分是明年我们发布 JMP 16 后您将可以执行的操作。 |
| |
在 JMP 15 中,有一些数据管理任务会生成自己的可重用 JSL 脚本代码。 |
| |
你只需点击鼠标,然后就可以使用某种技巧获取代码。我这就来演示一下。像 Recode 这样的工具, |
| |
生成包含计算公式的新列、重塑数据表,这些工具都位于“表格”菜单中。其中包括堆叠、拆分、连接、合并和更新。所有这些工具 |
| |
在 JMP 15 中,当您通过点击执行它们时,它们会生成自己的脚本。 |
| |
还有一些常见任务不会生成自己的 JSL 脚本,为了简化这些任务的完成并使其可重现, |
| |
它还可以帮助完成以下任务,主要是与列相关的操作,例如更改列的数据类型、建模类型以及更改显示格式。 |
| |
对数据表中的列进行重命名、重新排序和删除操作,还可以设置列属性,例如规格限制或值标签。 |
| |
因此,您可以使用数据清理脚本助手来帮助您在 JMP 15 中完成这些任务。 |
| |
我们将为您带来 JMP 16 的抢先预览,我们对 JMP 16 日志中的新功能感到非常兴奋,我认为它将被称为增强日志模式。 |
| |
基本思路是,在 JMP 16 中,您可以像往常一样通过点击鼠标来完成数据整理步骤。 |
| |
您需要的 JSL 代码会自动生成并记录。您只需获取并保存即可。非常简单实用,迫不及待地想向您展示。 |
| |
这里提供一份简明指南供您参考。在 JMP 15 中,左侧列出的是常见的数据整理任务;但这并非完整列表。 |
| |
中间一栏展示了如何在 JMP 中通过点击操作完成这些步骤。提取可重用脚本的方法列在右侧。因此,我不会在这里一一赘述。 |
| |
是的,这是给你留作日后参考的。我们来做个演示。我会展示如何解决Mia指出的组件数据表中的一些问题。我将从JMP 15开始。 |
| |
我们首先要讨论的是一些专栏问题,以及相关的变化。 |
| |
变化 |
| |
数据类型、建模类型等等。当然,如果你只关心点击操作的话。 |
| |
在 JMP 中,通常的做法是,比如说,对于湿度数据。你会记得这一列包含…… |
| |
里面有一些文本,但它被错误地识别为字符列。要通过点击来解决这个问题,通常需要右键单击,进入列信息,然后在这里进行更改。 |
| |
这是 JMP 15 中少数几个不会生成可用脚本的任务之一。因此,我们将改用数据清理脚本助手。好了,开始吧。 |
| |
它在插件菜单里,因为我已经安装了,你也可以安装。数据清理脚本助手,我们需要用到的工具是 Victor the cleaner。这是一个 |
| |
这里提供了一个图形用户界面,用于修改列,以便我们能够处理数据类型和建模类型。我们可以重命名列、更改列顺序、删除列,然后保存脚本。现在让我们来做一些修改。 |
| |
湿度数据由于存在 N/A 值,所以以文本形式显示。我们将把它从字符型变量改为数值型变量,并将标称值改为连续值。 |
| |
我们还发现批号需要更改为标称值;零件号也需要更改为标称值;目前以数字形式表示的工艺流程号也应该更改为标称值。 |
| |
名义上的。 |
| |
制造技术。所以这对我来说没用。我们删除“设施”列。我点击它的名称选中它,然后点击“删除”。 |
| |
以下是米娅提到的一些外观上的改动。废料率现在排在表格的末尾,我想把它往前移,移到第四个位置。 |
| |
客户编号。所以我们选中它,然后用箭头把它向上移动到客户编号的正下方。 |
| |
我要做的最后一个改动是,我要把压力变量重命名。 |
| |
我们公司的工程师把这列数据叫做psi,所以我也想把这列数据命名为psi。好了,这就是我想做的所有改动。 |
| |
我需要做一些选择。我可以决定是否将脚本保存到数据表中。这样,脚本就会在左上角的面板中显示出来。 |
| |
要将其保存到哪个单独的窗口,我们将其保存到脚本窗口。您还可以选择单击“确定”时是否执行您指定的清理操作。我们保留执行选项,然后单击“确定”。 |
| |
现在您可以看到所有这些更改都已完成。内容已重新排列,列属性已更改等等。 |
| |
我们有一个脚本。我们有一个脚本可以完成这项工作。它在一个单独的窗口中运行,这个小程序将作为基础。我们将围绕它构建我们的数据管理脚本。我们来保存一下。我要把它保存到我的桌面。我把它命名为…… |
| |
v15 内容管理脚本。 |
| |
更改模型类型、更改数据类型、重命名、重新排序。 |
| |
这些都来自 Victor 工具。我会在代码里做个注释。在代码里加些注释是个好习惯,方便以后阅读。我会加个注释说明这是 Victor 工具提供的。 |
| |
假设这是来自 DCSA 的数据清理脚本助手 Victor。这是一个注释。两个斜杠表示一个 |
| |
程序中的这一行是注释。这意味着程序解释器不会尝试将其作为程序代码执行。它只是一条注释,你可以在上面看到它以绿色显示。 |
| |
在剧本里给自己留些小备注是个好主意。好了,我们继续。 |
| |
接下来我要处理的整理工作是供应商栏目。米娅告诉我们,这部分存在一些需要解决的问题。 |
| |
我们将使用重编码工具来完成这项操作。重编码是 JMP 15 中的一个工具,它会在运行过程中留下自己的脚本,你只需要知道在哪里可以找到它。所以,让我们进行重编码并获取脚本,右键单击。 |
| |
重新编码。 |
| |
接下来我们要修正这些数据值。我从红色三角形开始。首先,我们把所有文本都转换成首字母大写,这样就清理掉了下面这个小写的 Hersch 值。 |
| |
我们再去掉多余的空白和空格字符。这样就清理掉了安德森名字前面的空格。好的。 |
| |
因此,您在重新编码工具中所做的所有更改都会记录在此列表中,您可以循环查看、撤销、重做并循环查看历史记录。 |
| |
好了,我还需要做一些修改。我会手动操作。我们把赫尔希家族的成员归为一组,把考克斯家族的成员归为一组,把安德森家族的成员归为一组。 |
| |
Trutna 和 Worley 的说法已经正确了。我最后要做的就是处理这些缺失值。我们会把它们归入单独的缺失值类别。 |
| |
这就是我的重写流程。我已经完成了我需要做的一切。如果只是点击鼠标,我只需点击重写按钮就完成了。但记住,我需要获取这个脚本。所以,我要点击红色三角形图标。 |
| |
向下滚动到脚本部分,让我们将此脚本保存到脚本窗口中。 |
| |
它已保存到单独的脚本窗口中,我只需将该部分粘贴到我正在编写的策展脚本的末尾即可。 |
| |
好,我看看。我直接把这里的东西都复制过来就行了。我甚至都不用看。对。我不需要是程序员,按Ctrl+C,然后粘贴到下面就行了。我们再备注一下,这是来自recode red triangle的。 |
| |
好了,我可以关掉这个窗口了,我不再需要它了。然后把这些更新保存到我的内容管理脚本里。以上就是重新编码以及你……的方式。 |
| |
获取 |
| |
它的代码。 |
| |
好的,接下来我们要解决的任务是计算。 |
| |
出现错误。哦,抱歉。接下来我要执行重新编码操作。脚本已保存,现在执行重新编码。好了,供应商列已经重新编码了。完美。 |
| |
好的,我们来计算一下良率。我知道这有点多余,我们已经有了废品率。 |
| |
但为了便于讨论,我们先来演示一下如何计算新列并提取其脚本。在 JMP 15 中,如果您知道在哪里查找,也可以轻松获取脚本。接下来,我们将创建产量列。 |
| |
新建列,双击此处,将其从第 16 列重命名为 yield。 |
| |
让我们给它赋予一个公式。 |
| |
为了计算产量,我需要找出每批产品中合格品的数量,也就是批次大小减去报废数量。 |
| |
这就是每批产品中合格品的数量。我要用这个数量除以总批次大小,这里就是出品率一栏。是的,你可以看到这里的出品率为 0.926。 |
| |
废品率是 0.074,1 减去产量。很好,计算正确。现在我已经创建了产量列,我们来获取它的脚本。诀窍在这里:右键单击,复制列。 |
| |
右键单击,复制列。 |
| |
粘贴。好了。在数据表中添加一列,名为“产量”,以下是它的公式。 |
| |
我说过,你不需要懂任何编程知识,不过我想这里有个很小的例外。你可能已经注意到了。 |
| |
JSL 中每个步骤的末尾都有分号。分号用于分隔不同的 JSL 表达式。如果您在脚本末尾添加新内容,则需要确保它们之间有一个分号。所以我现在正在输入一个分号。复制列 |
| |
函数没有自动添加分号,所以我需要手动添加。 |
| |
好的,很好。这就是我们的收益率列。接下来我想谈谈这个。 |
| |
我的流程目前标记为 1 和 2,这不太友好。我想给它们加上更具描述性的标签。我们将流程 1 称为生产流程,流程 2 称为实验流程。我们将使用值标签来实现这一点。 |
| |
值标签是列属性的一个例子。您可以向列添加各种不同的属性。 |
| |
这包括计量单位之类的东西。这就好比,如果你想改变图表中的显示顺序,可以使用值排序。 |
| |
如果您想为质量分析添加控制限、规格限或历史西格玛值,也可以在这里进行操作。 |
| |
好的。这些都是我们添加的列属性,也就是我们添加到列中的元数据。 |
| |
我们需要使用数据清理脚本助手来访问 JSL 脚本,以便添加这些列属性。具体操作如下。首先,我们像往常一样,通过点击操作添加列属性。我将添加值标签。 |
| |
流程一,我们称之为生产。添加。 |
| |
流程二,我们称之为实验性的。 |
| |
通过添加该值标签列属性, |
| |
现在我的数据表中有了清晰的标签。以前显示的是“流程 1”和“流程 2”,现在变成了“生产”和“实验”。 |
| |
数据清洗脚本助手。我们将选择属性复制器。 |
| |
屏幕上弹出一条消息,提示列属性脚本已复制到剪贴板,然后我们将继续执行脚本。 |
| |
来自 DCSA 财产复印机。 |
| |
然后粘贴,按Ctrl+V粘贴。这就是我们需要用来给这两个值标签赋值的脚本。完成了。 |
| |
很好。好的,我还有最后一个数据整理步骤需要完成,这还需要用到数据清洗脚本助手。 |
| |
我们只想考虑数据表中那些 VACUUM 设置为关闭的行。好的。所以这样的行有 313 行。 |
| |
我只想删除数据表中启用了 VACUUM 功能的行。要做到这一点,只需点击选择这些行(就像我刚才做的那样),然后运行表子集命令即可。 |
| |
为了获得可用的代码,我们需要再次使用数据清理脚本助手。以下是如何将此数据表筛选为仅包含已关闭 VACUUM 功能的行。首先,在“行”菜单下的“行选择”子菜单中,我们将使用“选择条件”功能。 |
| |
我们需要使用命令来获取一些可重用的脚本来进行选择。我们将选择那些真空吸尘器已关闭的行。 |
| |
在点击“确定”执行该选择之前,我将再次点击红色三角形,将脚本保存到脚本窗口。 |
| |
按Ctrl+A,按Ctrl+C复制,然后我们再粘贴一次。 |
| |
从行中。 |
| |
选择位置 |
| |
按 Control V。这就是选择真空关闭行的 JSL 代码。现在我还需要再说一遍, |
| |
需要使用数据清理脚本助手来获取选定的行。哦,我们先来实际执行一下选择操作。 |
| |
找到了。现在选中了这一行,我们再次转到“加载项”,选择“数据清理脚本助手”,然后选择“筛选选定行”。 |
| |
系统提示我为包含数据子集的新数据表命名。我们暂且称之为“真空表”,点击“真空关闭”即可。这就是我的新数据表名称。点击“确定”,系统再次提示子集脚本已复制到剪贴板。 |
| |
于是我们把它粘贴到底部。 |
| |
就在那儿。 |
| |
现在,这就是我们完整的 JMP 15 数据整理脚本了,接下来我们来实际演示一下它的使用方法。我将关闭我们一直在处理并进行数据整理修正的数据表。关闭它,然后返回到…… |
| |
混乱的状态。 |
| |
请确保我使用的是正确版本的 JMP。 |
| |
好的。是的,这就是混乱的数据。假设因为这是生产环境,数据不断更新,所以又新增了一些行。我需要重新执行我的数据整理工作流程。 |
| |
运行脚本。 |
| |
它执行了所有这些操作。请注意值标签。请注意湿度是连续的。请注意,我们已将范围缩小到仅包含真空关闭的行。整个工作流程 |
| |
现在可以使用 JSL 脚本重现此问题。所以,这就是您在使用 JMP 15 时需要注意的事项。有些工具可以直接提取 JSL 脚本;对于其他工具,您需要使用我的插件“数据清理脚本助手”。 |
| |
现在我们将向您展示在 JMP 16 中实现这一切是多么有趣和简单。我不会演示整个工作流程。 |
| |
虽然有点多余,但我们还是再回顾一下之前的步骤吧。现在我们使用的是 JMP 16,我将打开日志。 |
| |
JMP 16 中的日志显示方式有所不同,您现在就会看到其中的一些差异。让我们打开“混乱组件”数据。 |
| |
就是这个。你会注意到日志里有一个部分写着我已经打开了混乱的数据表。下面是实现此功能的 JSL 脚本。 |
| |
我们刚才的操作。这就像一个运行日志,会自动记录你需要的所有脚本。它还没有完全完成。 |
| |
它仍在不断添加新功能。而且我估计,这种情况还会持续下去。 |
| |
但是,这项增强的日志功能已经非常非常有用,它涵盖了您的大部分数据管理活动。 |
| |
我还应该提一下,我现在向你们展示的是 JMP 的早期体验版,是早期体验版 5。所以当我们正式发布时…… |
| |
JMP 16 的正式版将于明年初发布,届时它的外观可能会与你现在看到的有所不同。 |
| |
好的,那我们继续,再回顾一下数据整理的一些步骤。我不会讲完整个流程,因为那样就显得多余了。我们只做其中的一些步骤。 |
| |
我将介绍一下我们以前需要 Victor 来完成的一些工作。在 JMP 16 中,我们不再需要数据清理脚本助手。我们只需像往常一样点击鼠标即可。 |
| |
所以,湿度数据,我们要把类型从字符型改为数值型,从标称型改为连续型,然后点击确定。以下是结构化日志中的显示效果。它有 |
| |
已捕获该 JSL。好的,回到数据表。我们将把批号、零件号和过程的建模类型从连续型更改为标称型。 |
| |
完成了。日志中也已记录。我们要删除“设施”列,该列只有一个值,右键单击“删除列”。删除完毕。 |
| |
防扩散安全倡议。 |
| |
好了,以上就是我们在JMP 15的Victor界面中使用的所有工具……所有功能。在JMP 16中,所有这些都会生成JMP脚本,我们可以直接复制并在这里重复使用。太棒了。 |
| |
好的。我再演示最后一步。我们来演示一下“真空”子集是否已关闭。在 JMP 16 中,这要简单得多。我们只需要…… |
| |
选中所有关闭的 VACUUM 值;我甚至不需要使用“行”菜单,只需右键单击其中一个关闭的 VACUUM 值,然后选择“匹配单元格”,即可选中 313 行 VACUUM 值关闭的行。然后,像往常一样,要执行子集操作,即仅选择选定的行,请使用“表子集”命令。 |
| |
我们将创建一个名为“vacuum off”的新表,其中只包含我们选定的行,但保留所有列。开始吧。 |
| |
好了,我们已经完成了所有的数据整理步骤。以下是结构化日志中的显示内容。 |
| |
现在,为了使这个数据管理脚本可重用、可复现,我们只需要点击红色三角形,将脚本保存到脚本窗口即可。我将把它保存到我的桌面,文件名为 v16 管理脚本。 |
| |
这就是完整的脚本。那么,我们先关闭 JMP 16 中的所有数据,然后向您展示重新运行该脚本的效果。 |
| |
我又回到了 JMP 16 的主窗口。这是我的数据整理脚本。你会注意到第一行是打开命令,所以我甚至不需要打开数据表。它就在这里执行。 |
| |
我只需要在有新数据输入并且该文件更新后,运行脚本来完成我的数据整理步骤即可。 |
| |
好了,这就是全部内容。所有整理步骤以及筛选出的 313 行子集。这就是如何使用 JMP 16 中的增强日志功能来记录所有数据整理工作,并将其转换为可复现的脚本。 |
| |
好了,这里是 JMP 15 的速查表,再次提醒您一下,这些是您目前在 JMP 15 中提取可重用代码所需了解的内容,一旦我们发布 JMP 16,您就不必再为此担心了。 |
| |
2021年初。 |
| |
综上所述,Mia 向大家展示了如何在 JMP 中实现数据管理。这是一个探索性和迭代性的过程,您可以通过点击操作来发现问题并解决问题。 |
| |
当您的数据需要定期更新新数据时,您需要实现工作流程自动化以节省时间。 |
| |
此外,还要记录你的过程,这样当你以后回来查看你做过的事情时,就能留下一些线索。 |
| |
自动化过程是将您的点击操作转换为可重用的 JSL 脚本。 |
| |
我们讨论了在 JMP 15 中如何结合使用内置工具和数据清理脚本助手中的工具来实现这些目标。 |
| |
我们还提前预览了 JMP 16,以及如何使用增强的日志功能自动被动地捕获您的点击式数据整理活动,并留下美观且可重用的日志。 |
| |
可复现的数据整理脚本。 |
| |
好的。我们的汇报就到这里,非常感谢您抽出时间。 |