回复:警告:避免在列名中使用破折号!JMP 在其语法中采用了这种方式,在命名变量或列等时使用尽可能少的“特殊”或“受限”字符。最终结果是 JMP 可能会将变量或列名称解释为数学短语,而不是限定名称。因此,
Col-1
将被评估为名为“Col”的变量减 1。
JMP 具有允许正确解释的语法。
:"Col-1"n
告诉 JMP 这是一个列名,列名是“Col-1”。
您的 Mean() 函数示例编码为
Mean( :"Col-1"n, :"Col-2"n );
回复:警告:避免在列名中使用破折号!一些文档名称()(贬低) ,脚本指南 > JSL 构建块 > JSL 语法规则 > 名称
回复:警告:避免在列名中使用破折号!嗯…… 好的。
但是,这是我在第二个示例的公式编辑器中找到的内容:
Mean( As Column( "Col-2" ), As Column( "Col-1" ) )
那么,As Column(colname) 和 :"colname"n 有什么区别呢?
最后的n是什么意思?
我认为关于列名的这样一条规则应该是所有关于 JMP 表的教程的第 1 页,但在我看到的所有教程中都没有这种规则。
回复:警告:避免在列名中使用破折号!不要在意“n”,它在下面的链接中有解释。
回复:警告:避免在列名中使用破折号!您是以交互方式构建公式还是将其作为脚本输入?
我无法通过公式的交互式构建来重现您的结果(在 JMP 17.1 中)。 我尝试将列列表中的变量拖到 Mean 函数中并得到:

并且计算是正确的(交互背后的 JSL 是
Mean(:"Col-1"n, :"Col-2"n)
). 我还尝试通过选择均值公式中的框,然后从变量列表中选择变量。 这也奏效了。
如果您正在输入代码,那么正如其他人提到的那样,您需要确保正确指定列名。 交互地名称似乎不是问题。
回复:警告:避免在列名中使用破折号!嗨,丹,
我正在使用 JMP 17.0.0 (622753)。
我有两列名称为 Col-1 和 Col-2。 转到新列、属性、公式、编辑公式。
选择统计 > 均值。 在公式编辑器中,我看到 Mean() 里面有一个蓝色框。 现在我选择两列,并将它们拖到框中(+ 号出现)。 当我放手时,我会看到“解析错误”对话框。
然后我可以关闭错误对话框并在脚本模式下手动编辑框。
你是说你在 JMP 17.1 中没有遇到解析错误?
回复:警告:避免在列名中使用破折号!我相信我遵循了您的所有步骤,但没有看到“解析错误”对话框。 也许升级到 17.1 会解决您的问题。
回复:警告:避免在列名中使用破折号!好的,我现在已经更新到 JMP 17.1 并且可以确认这个令人讨厌的错误已得到修复。
17.1 的发行说明中没有提到这一点(SAS 可耻)。
所以这就是解决方案。 人们仍然应该知道这个与列名有关的陷阱。
警告:避免在列名称中使用破折号!这大多是出乎我意料的,我花了一段时间才弄清楚。
如果在列名中使用破折号(“-”),可能会发生不好的事情。
考虑以下情况:您想要计算两列的平均值。 因此,您打开公式编辑器并选择统计>平均值,然后尝试将列拖动到括号内。 在 JMP16 中,这曾经工作得很好。 我认为,在 JMP17 中,情况发生了一些变化。
现在尝试使用列名称 Col-1 和 Col-2 或 Col_1 和 Col_2。 通过下划线,您可以在列之间使用逗号,公式将如下所示:

现在,对名称中带有破折号的列尝试相同的操作。 首先,出现解析错误。 然后,您可以尝试将列名称放在双引号内。 这很难做到,但如果你使用正确的咒语,你最终会得到一个如下所示的公式:

至此,均值计算正确。
然而,它并不相同。 例如,如果您尝试使用 Profiled 来计算基于预测公式的函数,则会出现这种情况。 即使您选中“展开中间公式”,它也会失败并出现有关缺少因子的错误。 如果列名称中没有破折号,它将起作用!
我认为这显然是一个错误,而且是一个令人讨厌的错误。
数据存取数据混合和清理质量和工艺工程