使用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和/或简单脚本中的新列