大家好,
為了快速引導您:我正在處理 ELISA 數據(劑量反應曲線),因此我的自變量是稀釋因子,我的因變量是吸光度,並且我正在查看多個動物的多個時間點。 我希望能夠通過非線性、S 形曲線擬合找到 EC50(半最大響應稀釋)。 我目前使用 4 參數模型 (Probit 4P)。
基本上,我想編寫一個腳本,可以將參數估計中的數據獲取到表中,找到每條曲線的上下漸近線之間的中點,然後在自定義逆預測中使用該值來獲取EC50。 我很確定如果我能得到該參數的估計值,我可以完成後兩部分!
這是我的曲線擬合:
For ( i = 1, i <= N items (Mice), i++,
FC = Fit Curve (
Y ( :Data ),
X (:Dilution ),
Group (:Timepoint),
By(:Animal)
Fit Probit 4P,
Where (:Animal == eval(Mouse_names[i])), //thist isn't referencing the variable the way i expect but using either eval( ) or char( ) seems to be a work-around?...
SendToReport(
Dispatch(
{"Plot"},
"7",
ScaleBox,
{Format( "Fixed Dec", 12, 0 ), Min( 0 ), Max( 4 ), Inc( 2 ),
Minor Ticks( 0 )}
),
Dispatch(
{"Plot"},
"6",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 12 ), Min( 0.0000001 ),
Max( 0.1 ), Inc( 2 ), Minor Ticks( 0 )}
),
Dispatch(
{"Plot"},
"13",
ScaleBox,
{Format( "Fixed Dec", 12, 0 ), Min( 0 ), Max( 4 ), Inc( 2 ),
Minor Ticks( 0 )}
),
Dispatch(
{"Plot"},
"16",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 12 ), Min( 0.0000001 ),
Max( 0.1 ), Inc( 2 ), Minor Ticks( 0 )}
),
Dispatch(
{"Probit 4P", "Plot"},
"7",
ScaleBox,
{Format( "Fixed Dec", Use thousands separator( 1 ), 12, 0 ), Min( 0 ),
Max( 4 ), Inc( 2 ), Minor Ticks( 0 )}
),
Dispatch(
{"Probit 4P", "Plot"},
"6",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 12 ), Min( 0.0000001 ),
Max( 0.1 ), Inc( 2 ), Minor Ticks( 0 )}
),
Dispatch(
{"Probit 4P", "Plot"},
"13",
ScaleBox,
{Format( "Fixed Dec", Use thousands separator( 1 ), 12, 0 ), Min( 0 ),
Max( 4 ), Inc( 2 ), Minor Ticks( 0 )}
),
Dispatch(
{"Probit 4P", "Plot"},
"16",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 12 ), Min( 0.0000001 ),
Max( 0.1 ), Inc( 2 ), Minor Ticks( 0 )}
)
)
);
FC << journal;
FC << close window;);
這對我來說效果很好,我有每個擬合曲線的日誌輸出,其中包含模型比較、數據圖、模型信息(包括預測模型、擬合摘要、*~*參數估計*~*、估計的相關性) 、估計協方差和建模曲線圖)。我可以手動右鍵單擊參數估計和“生成組合數據表”,但不知道如何在腳本中執行此操作。理想情況下,我最後只有一個數據表,其中包含動物、參數(增長率、拐點、下漸近線、上漸近線)組(這些是我的時間點)、估計、標準誤差、下 95%、上限的列95%。
任何幫助將不勝感激! 謝謝!
使用
jrn["Correlation of Estimates"][MatrixBox(1)] << Make Combined Data Table;
轉至主菜單 > 幫助 > 書籍 > JMP 腳本指南,然後打開 PDF 並滾動至第 11 章,顯示樹。
JMP 報告是嵌套顯示框的列表。這將向您展示如何查找對象和發送消息。
jrn << show tree structure;
//or right click on a reveal button to the left of an outline box
// then select Edit, Show Tree Structure
我在瀏覽報告窗口方面的經驗基本上為零。
我搜索了報告窗口的腳本指南,但沒有找到太多內容。 您可以向我指出任何資源嗎?
驚人的!非常感謝您的回答 - 它絕對能滿足我的需要! 我只是仍在嘗試弄清楚您的代碼下面發生了什麼,以便將來可以在不同的應用程序中使用它。
這是否只是按名稱索引期刊,指定我確實想要表格框並創建一個新的數據表?
我看過其他回复,例如
dt2 = bivRep [1] [TableBox(3)] << Make Combined Data Table;
但無法弄清楚到底發生了什麼。 這個會獲取 bivRep 的第一部分(?)中找到的第三個錶框並寫入新的 dt 嗎?
我正在探索一點但更多,並能夠得到適合的摘要
jrn["Summary of Fit"][Table Box (1)] << Make Combined Data Table;
但不知道如何做一些事情,比如獲取第 5 週的估計相關性。
我試過:
covar_pre = jrn["Covariance of Estimates"]["Week 5"][Table Box(1)] << Make Combined Table;
並得到錯誤:
Cannot subscript Display Box{400} in access or evaluation of 'Subscript' , jrn["Covariance of Estimates"]["pre"][/*###*/Table Box( 1 )]
In the following script, error marked by /*###*/
paramEst = jrn["Covariance of Estimates"]["Week 5"][/*###*/Table Box( 1 )] <<
Make Combined Data Table我猜*這個*輸出不是一個表格框? 我不確定它是什麼類型的數據,也不知道如何弄清楚它。
你好,
一旦您掌握了日記的句柄,您就可以如下所示導航日記(類似於@gzmorgan0 ) 生成組合參數估計的數據表。
jrn = Current Journal();
paramEst = jrn["Parameter Estimates"][Table Box( 1 )] << Make Combined Data Table;
我希望這是有幫助的!
這是一個示例,不完全是您的具體示例(此示例使用 By)。 我不知道您在瀏覽報告窗口方面的專業知識。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Nonlinear Examples/Bioassay.jmp" );
obj = Fit Curve( Y( :Toxicity ), X( :log Conc ), By( :formulation ) );
obj << Fit Logistic 4P( Custom Inverse Prediction( Response( 0.9 ) ) );
//you can get one table using Make Combined Data Table
est_tbl= report(obj[1])["Parameter Estimates"][TableBox(1)] << Make Combined Data Table;
est_tbl << Set Name("Parameter Estimates");
inv_tbl = report(obj[1])["Inverse Prediction"]["Predicted Values"][TableBox(1)] << Make Combined Data Table;
inv_tbl << Set Name("Inverse Prediction");
希望這可以幫助。