# Defines a modelSpec list for use in setting up estimation objects.

Can be used for syspharm and NLME type of estimation objects. This is a convenience function to allow better documentation of the elements that can be in the modelSpec argument for IQRnlmeEst and IQRsysEst. No consistency checks are done at this point. This is conducted in the IQRnlmeEst and IQRsysEst functions.

modelSpec_IQRest(
POPvalues0,
POPestimate = NULL,
IIVdistribution = NULL,
IIVvalues0 = NULL,
IIVestimate = NULL,
IOVvalues0 = NULL,
IOVestimate = NULL,
errorModel = NULL,
covarianceModel = NULL,
covariateModel = NULL,
covariateModelValues = NULL,
COVestimate = NULL,
COVcentering = NULL,
PriorVarPOP = NULL,
PriorVarCovariateModelValues = NULL,
PriorDFerrorModel = NULL,
PriorIIV = NULL,
PriorDFIIV = NULL
)

## Arguments

POPvalues0 A named vector. Names are names of the parameters set to "estimate" in the model. Values are the initial guesses for the fixed effects. This is a required entry, as the function needs to know at least which parameters are in scope for the estimation! A named vector. Names are names of the parameters set to "estimate" in the model. A value of 0 indicates that the fixed effect of this parameter is fixed on its initial guess. A value of 1 indicates that this parameter is estimated. A named vector. Names are names of the parameters set to "estimate" in the model. Elements can be "N", "L", and "G". "N" indicates a normal distribution of the corresponding individual parameters. "L": logNormal, and "G": logitNormal. If IOV is estimated, the same distribution is used. A named vector. Names are names of the parameters set to "estimate" in the model. Values are the initial guesses for the random effects. A named vector. Names are names of the parameters set to "estimate" in the model. A value of 0 indicates that the random effect of this parameter is fixed to 0. A value of 1 indicates that the random effect is estimated. A value of 2 indicates that this random effect is fixed to its initial guess and not estimated. A named vector. Names are names of the parameters set to "estimate" in the model. Values are the initial guesses for the IOV. Same distribution as for IIV is assumed. A named vector. Names are names of the parameters set to "estimate" in the model. A value of 0 indicates that the IOV of this parameter is fixed to 0. A value of 1 indicates that the IOV is estimated. A value of 2 indicates that this IOV is fixed to its initial guess and not estimated. A list with as many fields as OUTPUT* definitions in the model. Names of these fields need to be the names of the OUTPUT* definitions. Each field is defined by a vector with the following elements: First element: "type" and "guess". "type" can be "abs" for absolute/additive error model, "rel" for relative/proportional error model, and "absrel" for absolute/additive : relative/proportional error model. Following elements (optional): initial guesses for error parameters. For "abs" and "rel" only one additional element needs to be present. For "absrel" two, whereby the first element is the initial guess for the absolute error and the second for the relative error. In addition it is possible to choose "event" for the error model type. This allows Joint Modeling with a TTE outcome. In this case no initial guess needs to be provided but the name of the variable in the model that describes the hazard function value. Example: errorModel = list(OUTPUT1 = c(type = "abs", guess = 1), OUTPUT2 = c(type = "absrel", 1,0.1)) Vector with definitions of blocks. Syntax is as follows: covarianceModel = c("ka,CL,Vc","Q1,Q2"). If covarianceModel=NULL or covarianceModel = "diagonal" then no off diagonal elements will be estimated. IMPORTANT: If NONMEM BAYES algorithm is planned to be used then covariance model needs to be full! This means that if any of the prior information is provided, the covarianceModel setting will be disregarded and et to full. The user is warned about that. List with definition of covariate model. Elements are named with the names of the parameters on which to add a covariate. Values are vectors with names of covariates to add. By default continuous covariates will be added as *(COV/REF)^THETA and categorical covariates multiplicative as well. Reference values are medians of continuous and smallest categories of categorical covariates. More complex desired covariate models can be coded in the model itself - then covariates become "regression" parameters. Example: covariateModel = list( CL = c("WT0","SEX"), ka = c("SEX"), Vc = c("WT0") ) List with definition of covariate model initial guesses. Elements are named with the names of the parameters on which to add a covariate. Values are named vectors with names of covariates and values as the initial guesses. For categorical covariates the same initial guess is used for all categories. covariateModelValues = list( CL = c(WT0=0.75, SEX=0.3), ka = c(SEX=0.5), Vc = c(WT0=1) ) List with definition of covariate model estimation settings. Elements are named with the names of the parameters on which to add a covariate. Values are 1 for estimation and 0 for fixing the covariate coefficient. For categorical covariates only all category coefficients or none can be estimated or fixed. Example: COVestimate = list( CL = c(WT0=0, SEX=1), ka = c(SEX=1), Vc = c(WT0=0) ) Named vector, defining the centering/reference values for covariates. Example: COVcentering = c(WT0=70, SEX=2) An unnamed vector (same order as in POPvalues0), defining the variances of the priors for the fixed effects. If this argument is not provided, non-informative priors will be used with variance 100*trans(POPvalues0). Where trans() depends on the individual distribution "L": log, "N": none, "G": logit. Please avoid starting guesses that lead to 0 transformed values! A list with the same struture as covariateModelValues, defining the variances for the priors of the covariate coefficients. If undefined 1000 times covariateModelValues will be used (non-informative). Example: PriorVarCovariateModelValues = list( CL = c(WT0=0.1, SEX=10), ka = c(SEX=1000), Vc = c(WT0=0.1) ) Degrees of freedom of SIGMA Prior. Scalar value for vector (integers). If scalar then same value is used for all sigmas. If vector then the length of the vector needs to match the number of error model parameters. Only used currently for NONMEM BAYES estimation. Default scalar value: 4 (arbitrarily chosen). An unnamed matrix of dimension NxN where N is the number of fixed effects in the model. Standard deviation priors for random effects in the diagonal. And priors for correlations in the off-diagonal elements. ONLY WORKS CORRECTLY FROM NONMEM 7.4 on! Do NOT use with NONMEM <7.4! Full matrix of dimension NxN needs to be provided, where N is the number of fixed effects in the model. Only lower triangular matrix will be used. If not provided, a diagonal matrix with initial guesses for standard devitation of the random effects will be used. The order of the matrix can not be selected but is the same as the ordering of the named elements in POPvalues0. Internally, the matrix will be split according to the provided covariance model into block diagonal elements. Degrees of freedom of OMEGA Prior. Scalar value for vector (integers). If scalar then same value is used for all omega blocks. If vector then the length of the vector needs to match the number of omega blocks. One important thing here is that all omega blocks (even if of dimension 1) need to be defined in the covarianceModel argument (parameters for which no IIV is estimated should not appear in the covarianceModel argument). Only used currently for NONMEM BAYES estimation. Default scalar value: 4 (arbitrarily chosen). You could set it according to the formula that was proposed by D. Mats Karlsson: 2*[(Omega estimate of previous analysis)/(SE of omega of previous analysis)]^2 or 2*[(Omega estimate of previous analysis)/(SE of omega of previous analysis)]^2+1

## Value

Returns a modelSpec list for IQRnlmeEst and IQRsysEst

## Details

The prior information for fixed effects, covariate coefficients, random effect, and error model parameters can be provided for use with the BAYES algorithm in NONMEM (MONOLIX is currently not supported for BAYES). Important: priors for fixed effects are defined by the initial guesses, provided in POPvalues0. Priors for covariate coefficients are provided by the initial guesses in covariateModelValues. Priors for error model parameters are provided as the inital guesses in errorModel.

Other IQRnlmeProject: IQRnlmeEst(), IQRnlmeProject(), addCovariateToModelSpec_IQRest(), addPar_modelSpec(), as_IQRnlmeProjectMulti(), as_IQRnlmeProject(), bootstrap_IQRnlmeProject(), compareModels_IQRnlmeProjectMulti(), convertETAINDIVPRED_IQRnlmeProject(), covariateEffect_IQRnlmeProject(), createDataVPC_IQRnlmeProject(), data_IQRest(), dosing_IQRest(), duplicate_IQRnlmeProject(), eigenvalues_IQRnlmeProject(), exportVirtualSubjects_IQRnlmeProject(), getData_IQRnlmeProject(), getETAs_IQRnlmeProject(), getEst_IQRnlmeProject(), getHeader_IQRnlmeProject(), getIndivParameters_IQRnlmeProject(), getIndivPredictions_IQRnlmeProject(), getModel_IQRnlmeProject(), getObsPred_IQRnlmeProject(), getPopParameters_IQRnlmeProject(), getResults_IQRnlmeProjectMulti(), getResults_IQRnlmeProject(), hasrun_IQRnlmeProjectMulti(), hasrun_IQRnlmeProject(), informationContent_IQRnlmeProject(), is_IQRnlmeEst(), is_IQRnlmeProjectMulti(), is_IQRnlmeProject(), is_MONOLIX_IQRnlmeProject(), is_NLMIXR_IQRnlmeProject(), is_NONMEM_IQRnlmeProject(), outlier_IQRnlmeProject(), plot.IQRnlmeProjectMulti(), plot.IQRnlmeProject(), plotConvergence_IQRnlmeProject(), plotETACOV_IQRnlmeProject(), plotETA_IQRnlmeProject(), plotGOF_IQRnlmeProject(), plotINDIVSIM_IQRnlmeProject(), plotINDIV_IQRnlmeProject(), plotVPC_IQRdataVPC(), pred_IQRnlmeProject(), print.IQRnlmeEst(), print.IQRnlmeProjectMulti(), print.IQRnlmeProject(), print_modelSpec(), run_IQRnlmeProjectMulti(), run_IQRnlmeProject(), sample_IQRnlmeProject(), summary.IQRnlmeProjectMulti(), summary.IQRnlmeProject(), summaryComments_IQRnlmeProjectMulti(), summaryCorrelations_IQRnlmeProjectMulti(), summaryCovariates_IQRnlmeProjectMulti(), summaryParameters_IQRnlmeProjectMulti(), vpc_IQRnlmeProject()