RivivcA: Level A linear correlation for a single formulation

View source: R/RivivcA.R

RivivcAR Documentation

Level A linear correlation for a single formulation

Description

This is the major function to be called where numerical convolution ad/or deconvolution might be used for a linear in vitro in vivo correlation level A. It performes either numerical convolution via /codeNumConv() or deconvolution via /codeNumDeconv() and correlates their results with the known.data object via linear regression lm(). If you just want raw results of convolution/deconvolution then call explicitely NumConv or link{NumDeconv}

Usage

RivivcA(known.data, impulse.data, second.profile.data,dose_iv=NULL,dose_po=NULL, 
	mode = "deconv", explicit.interp = 20, implicit.interp = 10, 
	optimization.maxit = 200)

Arguments

known.data

the data matrix to be correlated with; depending on the state of the mode variable it represents either in vitro dissolution profile (mode = "deconv") or PK profile after oral administration of the drug (mode="conv")

impulse.data

matrix of the PK profile after the drug i.v. administration

second.profile.data

matrix of the second PK profile; depending on the mode variable it represents either PK profile after oral administration of the drug (mode = "deconv") or a drug cumulative absorption profile (mode="conv"), sometimes substituted directly by the in vitro dissolution profile

dose_iv

drug dose after i.v. administration; not obligatory but if provided must be in the same units like the dose p.o.

dose_po

drug dose after p.o. administration; not obligatory but if provided must be in the same units like the dose i.v.

mode

represents the method used here; two states are allowed: mode="conv" for numerical convolution method or mode="deconv" for numerical deconvolution (default)

explicit.interp

convolution and deconvolution explicit interpolation parameter, namely number of the curve interpolation points

implicit.interp

implicit interpolation - a factor multiplying explicit.interp for better accuracy; applies to the deconvolution procedure only

optimization.maxit

maximum number of iterations used by optim() method; applies to the deconvolution procedure only

Details

The function represents either convolution or deconvolution data together with linear regression of the above functions outputs and known data supplied as a parameter. Please bear in mind that NumDeconv() procedure is iterative and therefore depending on the parameters might require substantial amount of time to converge. Please refer to the NumDeconv description.

Value

$regression

returns a whole object of the linear regression - a result from the lm() procedure

$numeric

returns results from NumConv() or NumDeconv() functions

Author(s)

Aleksander Mendyk and Sebastian Polak

See Also

NumConv, NumDeconv

Examples


require(Rivivc)
require(graphics)

#i.v. data
data("impulse")
#p.o. PK profile
data("resp")
#in vitro dissolution for correlation purposes
data("input")

#preparing data matrices
input_mtx<-as.matrix(input)
impulse_mtx<-as.matrix(impulse)
resp_mtx<-as.matrix(resp)

#setting accuracy
accur_explic<-20
accur_implic<-5

#run deconvolution
result<-RivivcA(input_mtx,impulse_mtx,resp_mtx,
    explicit.interp=accur_explic,implicit.interp=accur_implic)

summary(result$regression)

print("Raw results of deconvolution")
print(result$numeric$par)

predicted<-predict(result$regression)
deconvolved_data<-unname(predicted)
orig_data<-input_mtx[,2]

dev.new()
plot(orig_data,result$numeric$par[,2])
lines(orig_data,deconvolved_data, type="l", col="blue")
dev.new()
plot(input_mtx)
lines(result$numeric$par, type="l", col="blue")


Rivivc documentation built on April 24, 2022, 1:05 a.m.