作者:Chris Kirchberg 和 Scott Wise – JMP 全球支持团队
最近,许多客户询问如何在 JMP 中创建火山图。火山图是一种常用的图表,用于筛选许多 p 值和两种条件之间的均值比较。它在临床和基因组研究中被广泛使用,在测量许多参数的工业环境中也是一种非常强大的筛选工具。

使用火山图的价值在于,它不仅可以让您快速看到最显著的 p 值(从 Y 轴上绘制的 p 值的对数可以看出),还可以了解比较之间的方向和强度(从 X 轴上绘制的差异或“倍数变化”的位置可以看出)。例如,下图中箭头指向的点代表具有高度显著 p 值和较大方向差异的比较对。
Volcano Plot (Source: Wikipedia)火山图(来源:维基百科)要在 JMP 中创建火山图,您可以从响应筛选平台获得所有必要的计算。 为了演示要遵循的步骤,我们将使用 JMP 示例数据文件“Drosophila Aging”,该文件查看果蝇( Drosophila melanogaster )不同品系衰老效应的微阵列基因表达数据(数据中称为线)。 首先,我们进入过程筛选平台(JMP 12 中的分析 - 建模 - 过程筛选下,JMP 13 中的筛选 - 过程筛选下)。 这将使我们能够探索变量对之间的关系。 在平台对话框中,将所有要比较的连续列(从 log2in_TMS1 到 log2in_CG11317)放入 Y 响应框中,将线放入 X 框中。请注意,当要测量的列已经转换为其对数值时(因为这使得绘图更容易),火山图通常效果最佳,但在原始数据中并不总是需要这样做。
然后点击“确定”运行响应筛选,它将为我们提供每列的“线”比较。这提供了一个响应筛选窗口和一个单独的 P 值表。该表将为我们提供火山图 Y 轴的 P 值数据。 
然后,我们在“响应筛选”窗口标题红色三角形下选择“保存比较平均值”。这将打开一个新的无标题表,其中包含平均值比较的许多数字详细信息。现在,我们有了差异列,我们可以将其绘制在火山图的 X 轴上。还请注意,此数据表中保存了一个预先编写的图表,显示了相对实际差异的实际对数值。虽然这在某些方面是类似的图表,但它与火山图不同,因为它是用来绘制实际差异和实际对数值比较统计数据的图表。由于这些“实际”计算对于制作火山图并不重要,因此我们将重点关注表格中我们需要的内容。


为了将这两个表中的所有所需数据放到一个位置进行绘图,我们从“表”菜单中执行了“列连接”,以将无标题表与 PValues 表合并。我们设置此对话框以匹配包含比较列 ID 的公共“Y”列,最终得到一个新的“主”表,我们将其称为“火山图数据”。现在我们可以访问差异数据和 p 值数据来制作我们想要的图表。

剩下要做的就是打开 Graph Builder 并创建我们的火山图。有了此组合表中的信息,我们可以创建多种类型的火山图。第一步是从 Graphs 菜单打开一个空白的 Graph Builder。然后我们将 Difference 列拖到 X 轴上。对于 Y 轴,我们可以选择使用 LogWorth(比较 p 值的 -Log 10)或 FDR(错误发现率)LogWorth(相同的对数值与更保守的 p 值估计值进行比较,以最大限度地减少错误发现的机会)。我们更喜欢使用 FDR LogWorth 并将其拖到 Y 轴上。最后一步是在 Y 轴上放置一条参考线,以帮助显示我们重要的 FDR P 值点。通过右键单击图表的 Y 轴,我们在 1.3 处放置了一条参考线,这是 FDR LogWorth 水平,相当于显著性置信度为 95%(p 值截止值约为 0.05)。
从下图中我们可以看到,只有两个点(log2in_TMS1 = 1.948 FDR LogWorth 和 log2in_BcDNA_GH06717 = 1.367 FDR LogWorth)高于 FDR LogWorth 1.3 的参考线(均值比较中统计差异的置信度超过 95%)。此外,我们可以从方向差异中看出,在这两种情况下,“SAM”线均值小于“ORE”线均值,如负值所示。最后,差异的幅度会告诉我们,最远的显著点(log2in_TMS1 = -0.533)比下一个显著点(log2in_BcDNA_GH06717 = -0.319)的差异更大。

简而言之,火山图有助于直观地显示多列度量之间的水平均值比较,因此我们不仅可以快速挑选出重要的内容,还可以挑选出差异有多大以及在哪个方向!