使用JMP文件中的公式複制100多個列標題以進行JSL腳本編制你好,
對於卷數據分析,我將excel或CSV大型原始數據文件導入JMP,之後,我正在使用我之前的一個文件中的公式手動複製/粘貼100多個列標題。我發現這個方法非常耗時,我想遷移到JSL腳本。
有沒有簡單的方法,我將這些100多個列標題與我的一個文件中的公式保存在一個文件中(例如excel,txt或config),然後,對於每個數據分析,我只是使用JSL腳本來創建這些具有formuals的新列自動?
Re:使用JMP文件中的公式複制100多個列標題以進行JSL腳本編制我認為這種方法適用於JMP 12。
將所有公式列從舊/模板表轉移到沒有公式列的新表的JSL示例:
Names Default To Here(1);
// Old table with all desired formula columns
dt = Open("$SAMPLE_DATA/Diabetes.jmp");
// New table without the formula columns
dt_new = dt << subset(Columns({1, 4 :: N Col(dt)}));
//Get scripts for all formulas columns in old table
formula_columns = {};
For(i = 1, i <= N Col(dt), i++,
If(!Is Empty(Column(dt, i) << get property(Formula)),
Insert Into(formula_columns, Column(dt, i))
)
);
//Add formula columns to new table
Current Data Table(dt_new);
Eval List(formula_columns << get script);Re:使用JMP文件中的公式複制100多個列標題以進行JSL腳本編制你好 @ xenon2090 ,
在這種情況下,我寫了一個可能對你有用的加載項,複製所選列的腳本 。安裝完成後,您可以選擇公式列,從“加載項”菜單運行加載項,然後您將使用腳本在剪貼板中將這些精確列重新創建為jsl。將該腳本粘貼到新窗口,並在想要將這些列添加到當前表的任何時候運行。
朱利安
Re:使用JMP文件中的公式複制100多個列標題以進行JSL腳本編制雖然它不是一個腳本,你可能想要使用這種方法,因為它實際上只有兩到四個步驟,這取決於你如何計算:)
假設:您有一個JMP表,其中包含100多列和公式,但沒有數據(參考表)
1。像往常一樣導入數據並打開參考表
2。複製列名稱
a)在左側的列概述中,標記所有列,複製(ctrl + c)
b)在新表中標記列概述中的所有列,粘貼(ctrl + v)
3。複製公式
a)標記引用表中的所有列,右鍵單擊表的選定區域,然後選擇“複製多列屬性”
b)標記新表中的所有列,右鍵單擊表的選定區域並選擇“粘貼多列屬性”
這應該做你需要的。
注意:在JMP 12中,沒有用於復制多列屬性的腳本,在以後的版本中(至少有JMP 14):
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
dt << Select Columns( :MODULUS, :ELONG );
dt << Copy Multi Columns Properties;
Re:使用JMP文件中的公式複制100多個列標題以進行JSL腳本編制只有Formula Depot腳本需要JMP 14。 第二個腳本適用於JMP 12。 只需打開“Big Class”數據表,然後運行該腳本,您將看到它應用了列。
Re:使用JMP文件中的公式複制100多個列標題以進行JSL腳本編制我有JMP 12。有解決方案嗎?
Re:使用JMP文件中的公式複制100多個列標題以進行JSL腳本編制JMP 14有一個Formula Depot,可以讓你存儲你的公式,然後將它們應用到你想要應用它們的任何數據表。
此外,您可以輕鬆捕獲所有公式列的腳本,並將它們保存到腳本中,然後對於將來的數據表,您只需運行腳本即可生成新列。
這是一個簡單的腳本,它將生成一個新的Formula Depot ....假設你有JMP 14
Formula Depot(
Predictor(
Table( "Untitled 179" ),
Creator( "Column Ratio" ),
Command( "Column<<GET script=""></GET>
這是另一種方法,使用一個簡單的腳本,運行時將生成2個新列,並應用它們的公式
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Ratio",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( :height / :weight ),
Set Selected
);
dt << New Column( "Reverse Ratio",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( :weight / :height ),
Set Selected
);
如果打開示例JMP數據表“Big Class”,您可以嘗試應用Formula Depot和/或簡單腳本中的新列