在JMP脚本中编辑公式嗨,
我有一个很长的公式存储在一个名为f的变量中。现在,我必须创建一个新列,我粘贴公式b0 + b1 * f。如果我按照以下方式进行,它可以工作,但是当我通过右键单击列来查看公式时,我看到“ b0 + b1 * f“作为我的公式。我想在公式中看到存储在'f'中的f的表达式而不仅仅是字母'f'。请帮忙。谢谢!!
test_data<<NEWCOLUMN></NEWCOLUMN>
Re:在JMP脚本中编辑公式这很酷!!谢谢 IH !:)
Re:在JMP脚本中编辑公式真棒!谢谢伊恩 !
Re:在JMP脚本中编辑公式请找一个替代方案:
Names default to here(1);
f = Expr( 1 + 2 );
g = Expr( 1 + 2 + 3 );
h = Substitute(Expr(A + B), Expr(A), NameExpr(f), Expr(B), NameExpr(g));
dt = NewTable("Sum", NewColumn("A+B", Numeric, Continuous, Formula(NameExpr(h))), AddRows(3));Re:在JMP脚本中编辑公式见下文。
Re:在JMP脚本中编辑公式现在我明白了,是的,这是一种痛苦。 最简单的方法可能是将它们转换回字符串,如下面的h。 您也可以使用表达式来完成,如j。
dt = Open("$SAMPLE_DATA/iris.jmp");
f = Expr( 1 + 2 );
g = Expr( 1 + 2 + 3 );
h = parse(char(name expr(f)) || " + " || char(name expr(g)));
i = Expr( Expr(Name Expr(f)) + Expr(Name Expr(g)));
j = Eval Expr(i);
dt << New Column( "new", formula( name expr( f ) ) );
Column( dt, "new" ) << Set Formula( name expr( g ) );
dt << New Column( "from string", formula( name expr( h ) ) );
dt << New Column( "from expression", formula( name expr( j ) ) );Re:在JMP脚本中编辑公式谢谢 IH 。但我的问题是如何投入整个公式里面f?例如,在您的脚本中,如果您想创建一个公式为f + g的新列,您将如何进行?如果我右键单击该新列,它应该显示“1 + 2 + 1 + 2 + 3”,而不是“f + g”
Re:在JMP脚本中编辑公式Name Expr()中的常量b0和b1导致问题。 该函数需要一个变量包含表达而不是表达。 尝试将整个公式放在f中,然后调用Name Expr(f):
dt = Open("$SAMPLE_DATA/iris.jmp");
f = Expr( 1 + 2 );
g = Expr( 1 + 2 + 3 );
dt << New Column( "new", formula( name expr( f ) ) );
Column( dt, "new" ) << Set Formula( name expr( g ) );