有谁知道如何从数据表中的公式列中检索参数?
我正在使用非线性平台来估计自定义方程的参数。我想检索其中一些参数,以便我可以使用它们将参考线添加到图形中。如何将参数放入我的脚本中?
我一直在尝试使用“获取公式”,它在变量中返回公式本身。但是虽然它看起来像一个字符串,但它不是。所以我不能使用“包含”之类的东西来询问它(这会产生错误)。
这是不起作用的:
names default to here(1);
clear log();
dt=current data table();
a=column("Ypred")<<GET formula=""></GET>
输出如下所示:
一个参数=({X2 = 43.392460252954,X3 = 99.9985293436864,B1 = 0.217052884609186,TAU0 = 6.8300208159237,B2 = 13.6749994042758,B3 = 2.0025718816485,xoffset2 = 79.8284250939869,B4 = 158.586185051408,tau2 = 12.9572197347909,X1 = -0.0000000143754505748,xoffset1 = 13.8700526412164, b0 = 0.731036046206343}, If(:x < x1, b0 * (:x < x1), :x < x2, b1 * Exp((:x - xoffset1) / tau0) * (:x >= x1 & :x < x2), :x < x3, (b2 + b3 * (:x - x2)) * (:x >= x2 & :x < x3), b4 * (1 - Exp(-((:x - xoffset2) / tau2))) * (:x >= x3)));
'x2' , "x2" /*###*/ 的访问或评估中需要整数
在示例 2 的脚本中的第 11 行
嗨,杰瑞,
看起来 JMP 正在尝试评估一种,它不能,因为它不知道表达式中的所有参数(由于作用域)。 NameExpr( ) 函数将阻止这种情况……看看以下是否有效:
contains(char(nameexpr(a)), "x2");
干杯,
布雷迪
列公式是一个 JSL 表达式。 这可能很简单,也可能很复杂,具体取决于您指定的模型。 尽管您可以挖掘出系数,但如果整个拟合过程都在您的代码范围内,那么从拟合报告中获取它们可能会更简单。