如何识别与我的参考词有 2 个以上字符不同的词(使用列中的公式)?大家好,
我有一列由具有不同字符组合的单词组成(即 AAAAAAAAAA - 10 个字符的单词)。 我想在相邻列中识别出超过 2 个不同字符的单词(即 A乙AAAA行政长官AA)。 字母不同的位置无关紧要,另外,有些词也可以比我的参考词短或长。
因此,我想实现一个公式,使我能够区分/识别与我的参考序列有少于/多于 2 个不同字符并且长度相同的单词。 我仍然是 JMP 的初学者,不知道这是否可以实现。 如果您有任何建议,请告诉我:)
数据表回复:我如何识别与我的参考词有超过 2 个字符的单词(使用列中的公式)?看看附表,它应该让你开始。 它的核心是一个公式列(称为“决策”,在表格的列面板中用“+”号表示。 单击“+”会给出:

您需要一些 JSL 知识才能理解这一点,如果需要,可以使用“帮助 > 脚本索引”来准确了解它是如何工作的。
回复:我如何识别与我的参考词有超过 2 个字符的单词(使用列中的公式)?有很多方法可以做到这一点。 这是另一种选择:
Names Default To Here(1);
/*
a = "ABAAAACEAA";
b = "AAAAAAAAAA";
Show(!IsMissing(Substitute(a, Left(a,1), "")));
Show(!IsMissing(Substitute(b, Left(b,1), "")));
*/
New Table("Untitled 2",
Add Rows(3),
New Column("Column 1", Character, "Nominal", Set Values({"ABAAAACEAA", "AAAAAAAAAA", "BBBBAAA"})),
New Column("Column 2",
Numeric,
"Continuous",
Format("Best", 12),
Formula(!Is Missing(Substitute(:Column 1, Left(:Column 1, 1), "")))
)
);
Column1 是包含字符的列
Formula(!Is Missing(Substitute(:Column 1, Left(:Column 1, 1), "")))
在这个简单的示例中,想法是替换从第一个位置找到的字符串中的所有值,如果还有一些字符,我们就知道字符串中有超过 1 个字符。 如果您有多个值要替换,您应该能够通过修改 Substitute 函数参数来使用相同的想法
回复:我如何识别与我的参考词有超过 2 个字符的单词(使用列中的公式)?嗨,伊恩,
感谢您的反馈。 我试图实现你写的公式,但我不知道在哪里可以定义我的参考序列是 AAAAAAA 而不是别的。 我将项目选择中的“”替换为“AAAAAAA”,但结果不正确。 有什么建议可以升级你写的公式吗?
回复:我如何识别与我的参考词有超过 2 个字符的单词(使用列中的公式)?嗨,Jthi,感谢您的建议。
老实说,我仍在尝试理解公式:')。 在我正在处理的文件中,我只有一个参考词,而且我必须使用位置/字母的每种可能组合筛选超过一百万行条目。 我假设这个公式不起作用,因为我无法在公式中定义这些值。 考虑到大型数据库 Ive 是否可以对其进行调整?
回复:我如何识别与我的参考词有超过 2 个字符的单词(使用列中的公式)?看来我误解了你所说的“我想在相邻列中识别出超过 2 个不同字符的单词”。 我的建议是标记源列中每个单元格包含一个字符串的行,该字符串本身由两个以上不同的字符组成(因此没有参考序列或字符串)。
回复:我如何识别与我的参考词有超过 2 个字符的单词(使用列中的公式)?我们需要更多的例子。 差异的数量是多少(不要过度指定,指出它不重要的地方。)
ref = "AEIOUA" // 试图理解重复字母的规则
test = "AEIOUA" // nDiff = 0 表示相同的字符串
测试 = "AAEIOU" // nDiff = ?对于相同的字母,重新排序
测试 = "AEIOU" // nDiff = ?对于相同的字母,右侧缺少一个
测试 = "EIOUA" // nDiff = ?对于相同的字母,左边缺少一个
测试 = "EIOU" // nDiff = ?
测试 = "AA" // dDiff = ?
test = "AXA" // dDiff = ?
test = "AXXXXA" // dDiff = ?用于匹配长度
测试 = "AEIUOA" // dDiff = ?用于交换内部字母
测试 = "AEIOUEIOU" // nDiff = ?对于重复的字母
这些答案将有助于选择算法:
你说了~1e6个测试词;你在看多少个参考词?
除了“是/否有超过 2 个差异”之外,您还需要其他答案吗? 差异计数会有用吗?