我正在为不同的表运行多个分析。 每个表都有一个诊断栏,有超过 900 种不同的诊断类型。 所以我所做的是重新编码列,然后将每个诊断重新分类为 40 个“诊断类”。 然而,这是一个重复为每个表重新编码诊断列的繁琐过程。
需要帮助创建一个重新编码脚本,该脚本捕获将 900 个诊断分组为 40 个集群的逻辑,然后将相同的重新编码过程应用于不同表中的类似列。 有没有办法保存重新编码脚本并将其应用于新列?
谢谢你...
我正在使用 JMP V14.2。
我能够保存重新编码列的脚本。 将尝试使用另一个表运行脚本,看看是否有效。
谢谢
莫卡博士
从您的帖子中不清楚您是从聚类分析中创建 40 个分类,还是通过诊断名称手动创建并使用 Recode。
此外,您没有提及您使用的是哪个版本的 JMP。 如果您重新编码了一个表的 900 到 40 个类别,根据您的 JMP 版本,您可能会选择脚本 > 保存到文件。 下面是使用 JMP PRO v 14.2 的选项的屏幕截图。 附上保存脚本。您可以在打开每个文件后运行此脚本,并且将自动创建重新编码列(在我的脚本中称为原始 2)。但是,如果您有非常大的文件,我不确定性能。 (下面有更多讨论)。

似乎工作得很快的是一个关联数组,它是一个键控列表。
附上2张桌子,
- firsttbl_recodebyhand.jmp
- newtbl.jmp
打开 firtstbl_recodebyhand.jmp。 它需要有原始列和重新编码的列,然后运行此脚本,更改名称以匹配您手动重新编码的表列,然后运行此脚本
dt = current data table();
ng_aa = Associative Array(:original, :original2);
aa_str = "ng_aa =" || Log Capture(write(ng_aa)) ||";";
save text file("c:\temp\myrecode.txt", aa_str);
接下来打开 newtbl.jmp。 请注意,还有更多行,并且是随机顺序的。 现在运行这个脚本
names default to here(1);
dt = current data table(); //open newtbl
_cmd_str = LoadTextFile("c:\temp\myrecode.txt");
Eval(Parse(_cmd_str));
dt << new Column("original 2", character, <<SET each="" value=""></SET>
关联数组充当查找功能。所有版本的 JMP 都可能提供关联数组。
到目前为止,此讨论假设您有一个手动重新编码的列。如果您使用过其他方法,如 k-means 聚类分析或其他算法方法,JMP 可能有一个保存公式选项,您可以在每次打开新文件时复制并粘贴该公式。
没有更多的细节,我没有更多的东西可以提供。