“Fuzzymerge” - 连接时间戳略有不同的表我经常有来自不同来源的数据文件,我想按时间加入,但由于它们来自不同的系统,因此它们的时间戳略有不同。我们通过使用 JMP 解决了这个问题KD表允许疯狂快速最近邻搜索的对象。这种“模糊合并”将在第二个表中找到主表中每一行的时间最接近的行,并将这些行连接到生成的单个表中。
我在社区搜索中发现了一些其他示例,但没有一个具有 GUI 可供非脚本编写人员访问。
要使用此功能,首先运行“fn_fuzzymerge_generic”脚本将自定义函数加载到 JMP 中。然后在打开的数据表的情况下运行 fuzzymerge_generic_GUI 脚本。您可能想查看“模糊合并增量”列的分布,它是两个表的已连接行的时间列之间的差异。大值表示主表中该行“附近”没有数据。
请注意,这将找到*在任何方向*(时间上向前或向后)最近的行。
希望这对某人有帮助!
克里斯托
探索性数据分析公用事业回复:“Fuzzymerge”-连接时间戳略有不同的表非常感谢,这对我们组非常有帮助,因为我们经常需要合并多个具有不同时间戳的文件。 完美运作! 我建议选择将结果保存到具有新名称的新表中,而不是更改主表本身。
回复:“Fuzzymerge”-连接时间戳略有不同的表因此,表 A 每秒一行,表 B 每小时一行。如果您使用此模糊合并,并从表 B(“with”表)合并到 A(主表),您最终将在 B 中为 A 中的每一行找到最近的行。听起来您所要求的只是相反 - 将表 B 设置为“主”表,将表 A 设置为“带有”表。 我们将其称为表 C。这将为您提供 A 中的单个衣柜行对应于 B 中的每一行。如果您仍然想要一个与表 A 一样多行的表,但 B 的数据为空,则可以通过匹配时间戳将 C 与 A 重新表连接起来。
回复:“Fuzzymerge”-连接时间戳略有不同的表@klk我有一个表,每秒有一个时间戳,另一个表有每小时一个时间戳。 两列都将时间显示为小时。 当我使用脚本连接表时,它会将第二个表匹配到第一个表中的多个位置,直到达到 0.5 的增量,然后它将匹配下一个时间戳。 我最终得到了多个匹配项而不是单个匹配项。
有没有办法强制执行单一模糊匹配?也许通过手动定义单个增量?
回复:“Fuzzymerge”-连接时间戳略有不同的表
@klk这个剧本太棒了!
我想知道你是否可以用以下几项来补充它:
1.在GUI窗口中添加取消按钮
2. 可以组团加入吗?例如,我可能有两个应该分开的时间序列,并且序列名称可以在其中一列中找到。
谢谢!!!
回复:“Fuzzymerge”-连接时间戳略有不同的表感谢分享! 拥有一个容差因子会很好,这样我们就不会加入“太远”的索引。
回复:“Fuzzymerge”-连接时间戳略有不同的表克里斯托,是的,我也遇到过这种情况,我相信很多人也遇到过这种情况。 我只是觉得这太难弄清楚了。 很高兴您花时间编写这个脚本。
我知道我很快就会有机会使用它。
谢谢
菲奥娜
回复:“Fuzzymerge”-连接时间戳略有不同的表很棒的剧本和良好的支持。 我喜欢.
回复:“Fuzzymerge”-连接时间戳略有不同的表很高兴有帮助!请注意,我刚刚更新了一个小修复。
回复:“Fuzzymerge”-连接时间戳略有不同的表很不错。 我正在寻找这样的东西。 谢谢!