Choose the best-fit slope for the log(y) and x regression by the criteria of adjusted R-square.
BestSlope.RdIt sequentially fits (log(y) ~ x) from the last point of x to the previous points with at least 3 points. It chooses a slope the highest adjusted R-square. If the difference is less then 1e-4, it pickes longer slope.
Arguments
- x
vector values of x-axis, usually time
- y
vector values of y-axis, usually concentration
- adm
one of
"Bolus"or"Infusion"or"Extravascular"to indicate drug administration mode- TOL
tolerance. See Phoenix WinNonlin 6.4 User's Guide p33 for the detail.
- excludeDelta
Improvement of R2ADJ larger than this value could exclude the last point. Default value 1 is for the compatibility with other software.
Details
Choosing the best terminal slope (y in log scale) in pharmacokinetic analysis is somewhat challenging, and it could vary by analysis performer.
Phoenix WinNonlin chooses a slope with highest adjusted R-squared and the longest one. The difference of adjusted R-Squared less than TOL considered to be 0.
This function uses ordinary least square method (OLS). Author recommends to use excludeDelta option with about 0.3.
Value
- R2
R-squared
- R2ADJ
adjusted R-squared
- LAMZNPT
number of points used for slope
- LAMZ
negative of the slope, lambda_z
- b0
intercept of the regression line
- CORRXY
correlation of log(y) and x
- LAMZLL
earliest x for lambda_z
- LAMZUL
last x for lambda_z
- CLSTP
predicted y value at the last point, predicted concentration for the last time point
Author
Kyun-Seop Bae <[email protected]>
Examples
BestSlope(Theoph[Theoph$Subject==1, "Time"], Theoph[Theoph$Subject==1, "conc"])
#> R2 R2ADJ LAMZNPT LAMZ b0 CORRXY LAMZLL
#> 0.9999997 0.9999995 3.0000000 0.0484570 2.3687851 -0.9999999 9.0500000
#> LAMZUL CLSTP
#> 24.3700000 3.2801465
#> attr(,"UsedPoints")
#> [1] 9 10 11
BestSlope(Indometh[Indometh$Subject==1, "time"], Indometh[Indometh$Subject==1, "conc"],
adm="Bolus")
#> R2 R2ADJ LAMZNPT LAMZ b0 CORRXY
#> 0.99706673 0.99413345 3.00000000 0.15832048 -1.72421060 -0.99853229
#> LAMZLL LAMZUL CLSTP
#> 5.00000000 8.00000000 0.05024851
#> attr(,"UsedPoints")
#> [1] 9 10 11