有誰知道如何從數據表中的公式列中檢索參數?
我正在使用非線性平台來估計自定義方程的參數。我想檢索其中一些參數,以便我可以使用它們將參考線添加到圖形中。如何將參數放入我的腳本中?
我一直在嘗試使用“獲取公式”,它在變量中返回公式本身。但是雖然它看起來像一個字符串,但它不是。所以我不能使用“包含”之類的東西來詢問它(這會產生錯誤)。
這是不起作用的:
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 表達式。 這可能很簡單,也可能很複雜,具體取決於您指定的模型。 儘管您可以挖掘出係數,但如果整個擬合過程都在您的代碼範圍內,那麼從擬合報告中獲取它們可能會更簡單。