我正在對不同的表進行多次分析。 每個表都有一個診斷欄,有超過 900 種不同的診斷類型。 所以我所做的就是重新編碼列,然後將每個診斷重新分類為 40 個“診斷類別”。 然而,這是一個重複對每個表的診斷列進行重新編碼的繁瑣過程。
需要幫助創建一個重新編碼腳本,該腳本捕獲將 900 個診斷分組為 40 個集群的邏輯,然後將相同的重新編碼過程應用於不同表中的類似列。 有沒有辦法保存重新編碼腳本並將其應用到新列?
謝謝...
我正在使用 JMP V14.2。
我能夠保存重新編碼列的腳本。 將嘗試使用另一個表運行該腳本,看看是否有效。
謝謝
莫卡博士
從您的帖子中尚不清楚您是通過聚類分析創建 40 個分類,還是通過診斷名稱並使用 Recode 手動執行此操作。
另外,您沒有提及您正在使用哪個版本的 JMP。 如果您已重新編碼一張表的 900 到 40 個類別,則根據您的 JMP 版本,您可能可以選擇腳本 > 保存到文件。 以下是使用 JMP PRO v 14.2 的選項的屏幕截圖。 附上保存腳本。您可以在打開每個文件後運行此腳本,並且將自動創建重新編碼列(在我的腳本中稱為原始 2)。但是,如果您有非常大的文件,我不確定性能。 (下面有更多討論)。

看起來工作得很快的是關聯數組,它是一個鍵控列表。
附2張桌子,
- 第一個tbl_recodebyhand.jmp
- 新表.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 均值聚類分析或其他算法方法,JMP 可能有“保存公式”選項,您只需在每次打開新文件時復制並粘貼該公式即可。
如果沒有更多細節,我沒有什麼可提供的。