從列名選擇中,如何修改產生的列名列表你好呀,
也許你可以幫我弄清楚我在這裡做錯了什麼。
我有以下玩具資料表:

我在精煉來自以下腳本的字元列名稱清單時遇到了一些麻煩。
//get unique column names
cols = Current Data Table() << getColumnNames(Character);
//del columns I don't want
DELCOLS = {"Column 5", "Column 6"};
unique_col_names = Associative Array(cols) << Remove(Associative Array(DELCOLS)) << get keys;
//make a pop-up window
nw = New Window( "Set a Value",
<<MODAL></MODAL>
我得到的是結果模式彈出視窗中的以下內容。

我希望下面的彈出視窗只有以下內容:

我認為我的問題可能與我對關聯數組的知識有差距有關,即使 JMP 腳本編寫指南介紹了關聯數組鍵以及刪除、刪除、定位和包含函數,我也無法完全理解它合理。
我想確保模型視窗中使用的結果清單中保留的列可以由原始資料集中的使用者重新命名,因此我要刪除的列名稱將保持不變。 此外,資料表中列的排列是相同的,但關聯數組會按升序重新排列值。
根據這些論壇,我已經使用了以下方法,並且一定有一些東西我在這裡沒有看到,因為我是 JSL 語言的新手。
- 從清單中刪除元素刪除清單中的元素
- 從列號取得列名稱並將我選擇的列輸入到要使用的清單中。如何從列名取得列號? (JMP)
我已附上玩具資料集文件,其中包括我上面引用的腳本。
自動化和腳本編寫回覆:從列名選擇中,如何修改產生的列名列表非常感謝! 它在我的專案中效果很好,我也了解了 Try() 函數是什麼。
回覆:從列名選擇中,如何修改產生的列名列表這是我解決這個問題的方法
Names Default To Here( 1 );
//get unique column names
cols = Current Data Table() << getColumnNames( Character, string );
//del columns I don't want
DELCOLS = {"Column 5", "Column 6"};
For( i = 1, i <= N Items( DELCOLS ), i++,
Try( Remove From( cols, Contains( cols, DELCOLS[i] ) ) )
);
unique_col_names = cols;
//make a pop-up window
nw = New Window( "Set a Value",
<<MODAL></MODAL>