你好,
我有 100 個未知數要從線性擬合中計算出來。 我按照此處顯示的“逆預測”說明進行操作:
https://www.jmp.com/support/help/14/inverse-prediction-2.shtml#149268
效果很好,但是使用這種方法,我一次只能(手動)輸入 8 個未知數。 有沒有其他方法可以做到這一點(就像在 Prism 中一樣)? 或者有沒有可以做到的腳本? 棱鏡法: https://www.graphpad.com/support/faq/prism-3-calculating-unknown-concentrations-using-a-standard-curve/
謝謝!
梅根
只是想重申這個腳本有多棒。 作為 JMP 的新用戶,我非常感謝您的努力。
該腳本將分別對每個芯片 ID 執行逆向預測。
Names Default to Here( 1 );
dt = Current Data Table();
Column( 2 ) << Data Type( "Numeric" ) << Modeling Type( "Continuous" );
Column( 3 ) << Data Type( "Numeric" ) << Modeling Type( "Continuous" );
dt << New Column( "Lower 95%", "Numeric", "Continuous" )
<< New Column( "Upper 95%", "Numeric", "Continuous" );
Summarize( chip = By( :Chip ID ) );
n groups = N Items( chip );
For( c = 1, c <= n groups, c++,
data = dt << Get Rows Where( :Chip ID == chip[c] );
dt << Select Where( :Chip ID != chip[c] ) << Exclude;
fls = dt << Fit Model(
Y( :Median Electrode ),
Effects( :Name( "gDNA pg/uL" ) ),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run
);
unknown = :Median Electrode[data[3]::data[N Row(data)-2]];
Eval(
Substitute(
Expr(
fls << Inverse Prediction(
Term Value( Name( "gDNA pg/uL" )(.) ),
Response( rrr )
)
),
Expr( rrr ),
unknown
)
);
inv pred report = Report( fls )["Inverse Prediction"];
inv pred = inv pred report[NumberColBox(2)] << Get As Matrix;
lower = inv pred report[NumberColBox(3)] << Get As Matrix;
upper = inv pred report[NumberColBox(4)] << Get As Matrix;
fls << Close Window;
For( i = 1, i < N Row( data ) - 3, i++,
Column( 2 )[data[i+2]] = inv pred[i];
Column( 4 )[data[i+2]] = lower[i];
Column( 5 )[data[i+2]] = upper[i];
);
dt << Exclude << Clear Select;
);
注意:除非您刪除最後的空行,否則它將失敗。 其中一個標準缺少已知濃度的值 10。
嗨,馬克,
我已將一些示例數據附加到此註釋中——標準和未知數在同一個數據表中。
在此示例中,我有一條標準曲線,其中有兩個點 10 和 150 重複。 我想插入我留空的未知數 [此處為 gDNA pg/uL]。
梅根
我認為腳本將提供最佳解決方案。 標準品和未知物是在同一個數據表中還是不同的數據表中? 更好的是,您能否提供一個包含標準和未知數的典型數據集的示例?