# Nonlinear Mixed Effects Models in Population PK/PD, Estimation Routines

## Documentation for package ‘nlmixr2est’ version 7.0.2

- DESCRIPTION file
- Package NEWS

## Help Pages

A B C E F G I L M N O P Q R S T U V Y misc

## -- A --

aaaCranNlmixrThreads | This function is to set the number of threads to 2
addCwres | Add CWRES
addNpde | NPDE calculation for nlmixr2
addTable | Add table information to nlmixr2 fit object without tables
agqControl | Control options for the agq estimation method
assertNlmixrFit | Assert that this is a nlmixr2 fit object
assertNlmixrFitData | Assert that this is a nlmixr2 fit data object
augPred.nlmixr2FitData | Augmented Prediction for nlmixr2 fit

## -- B --

bobyqaControl | Control for bobyqa estimation method in nlmixr2
boxCox | Cox Box, Yeo Johnson and inverse transformation

## -- C --

cholSE | Generalized Cholesky Matrix Decomposition

## -- E --

emviControl | Control for the variational inference methods emvi and fbvi in nlmixr2

## -- F --

fbviControl | Control for the fbvi (full-Bayes variational inference) method
foceControl | Control options for the foce estimation method
foceiControl | Control Options for FOCEi
foceiLikLoad | Load a general FOCE-family likelihood into memory
foceiLikRun | Evaluate a loaded general FOCE-family likelihood at supplied etas
foceiLikUnload | Unload the general FOCE-family likelihood from memory
focepControl | Control options for the focep (FOCE+) estimation method
foControl | Control options for the FO estimation method
foiControl | Control options foir the FOI estimation method
formatMinWidth | Format numeric values to minimize the printing width

## -- G --

getOfvType | Set/get Objective function type for a nlmixr2 object
getValidNlmixrControl | Get valid nlmixr control object
getValidNlmixrCtl | Get valid nlmixr control object
getValidNlmixrCtl.agq | Get valid nlmixr control object
getValidNlmixrCtl.agqf | Get valid nlmixr control object
getValidNlmixrCtl.bfgs | Get valid nlmixr control object
getValidNlmixrCtl.bobyqa | Get valid nlmixr control object
getValidNlmixrCtl.brent | Get valid nlmixr control object
getValidNlmixrCtl.cg | Get valid nlmixr control object
getValidNlmixrCtl.default | Get valid nlmixr control object
getValidNlmixrCtl.emvi | Get valid nlmixr control object
getValidNlmixrCtl.fbvi | Get valid nlmixr control object
getValidNlmixrCtl.fo | Get valid nlmixr control object
getValidNlmixrCtl.foce | Get valid nlmixr control object
getValidNlmixrCtl.focef | Get valid nlmixr control object
getValidNlmixrCtl.focei | Get valid nlmixr control object
getValidNlmixrCtl.foceif | Get valid nlmixr control object
getValidNlmixrCtl.focep | Get valid nlmixr control object
getValidNlmixrCtl.focepf | Get valid nlmixr control object
getValidNlmixrCtl.foi | Get valid nlmixr control object
getValidNlmixrCtl.iagq | Get valid nlmixr control object
getValidNlmixrCtl.iagqf | Get valid nlmixr control object
getValidNlmixrCtl.ifoce | Get valid nlmixr control object
getValidNlmixrCtl.ifocef | Get valid nlmixr control object
getValidNlmixrCtl.ifocei | Get valid nlmixr control object
getValidNlmixrCtl.ifoceif | Get valid nlmixr control object
getValidNlmixrCtl.ifocep | Get valid nlmixr control object
getValidNlmixrCtl.ifocepf | Get valid nlmixr control object
getValidNlmixrCtl.ilaplace | Get valid nlmixr control object
getValidNlmixrCtl.imp | Get valid nlmixr control object
getValidNlmixrCtl.impmap | Get valid nlmixr control object
getValidNlmixrCtl.inpag | Get valid nlmixr control object
getValidNlmixrCtl.inpb | Get valid nlmixr control object
getValidNlmixrCtl.laplace | Get valid nlmixr control object
getValidNlmixrCtl.lbfgsb | Get valid nlmixr control object
getValidNlmixrCtl.lbfgsb3c | Get valid nlmixr control object
getValidNlmixrCtl.magq | Get valid nlmixr control object
getValidNlmixrCtl.magqf | Get valid nlmixr control object
getValidNlmixrCtl.mfoce | Get valid nlmixr control object
getValidNlmixrCtl.mfocef | Get valid nlmixr control object
getValidNlmixrCtl.mfocei | Get valid nlmixr control object
getValidNlmixrCtl.mfoceif | Get valid nlmixr control object
getValidNlmixrCtl.mfocep | Get valid nlmixr control object
getValidNlmixrCtl.mfocepf | Get valid nlmixr control object
getValidNlmixrCtl.mlaplace | Get valid nlmixr control object
getValidNlmixrCtl.mnpag | Get valid nlmixr control object
getValidNlmixrCtl.mnpb | Get valid nlmixr control object
getValidNlmixrCtl.n1qn1 | Get valid nlmixr control object
getValidNlmixrCtl.neldermead | Get valid nlmixr control object
getValidNlmixrCtl.newuoa | Get valid nlmixr control object
getValidNlmixrCtl.nlm | Get valid nlmixr control object
getValidNlmixrCtl.nlme | Get valid nlmixr control object
getValidNlmixrCtl.nlminb | Get valid nlmixr control object
getValidNlmixrCtl.nls | Get valid nlmixr control object
getValidNlmixrCtl.npag | Get valid nlmixr control object
getValidNlmixrCtl.npb | Get valid nlmixr control object
getValidNlmixrCtl.optim | Get valid nlmixr control object
getValidNlmixrCtl.posthoc | Get valid nlmixr control object
getValidNlmixrCtl.predict | Get valid nlmixr control object
getValidNlmixrCtl.qrpem | Get valid nlmixr control object
getValidNlmixrCtl.rxSolve | Get valid nlmixr control object
getValidNlmixrCtl.saem | Get valid nlmixr control object
getValidNlmixrCtl.sann | Get valid nlmixr control object
getValidNlmixrCtl.simulate | Get valid nlmixr control object
getValidNlmixrCtl.simulation | Get valid nlmixr control object
getValidNlmixrCtl.tableControl | Get valid nlmixr control object
getValidNlmixrCtl.uobyqa | Get valid nlmixr control object
getValidNlmixrCtl.vae | Get valid nlmixr control object

## -- I --

iagqControl | Control options for the iagq estimation method
iBoxCox | Cox Box, Yeo Johnson and inverse transformation
ifoceControl | Control options for the ifoce estimation method
ifoceiControl | Control options for the ifocei estimation method
ifocepControl | Control options for the ifocep (IRLS FOCE+) estimation method
ilaplaceControl | Control options for the ilaplace estimation method
impControl | Control for the imp (importance-sampling EM without MAP search) method
impmapControl | Control options for the impmap (importance-sampling EM) estimation method
iterPrintControl | Control iteration-time print formatting
iYeoJohnson | Cox Box, Yeo Johnson and inverse transformation

## -- L --

laplaceControl | Control options for the Laplace estimation method
lbfgsb3cControl | Control for lbfgsb3c estimation method in nlmixr2

## -- M --

magqControl | Control options for the magq estimation method
mfoceControl | Control options for the mfoce estimation method
mfoceiControl | Control options for the mfocei estimation method
mfocepControl | Control options for the mfocep (mu-referenced FOCE+) estimation method
mlaplaceControl | Control options for the mlaplace estimation method

## -- N --

n1qn1Control | Control for n1qn1 estimation method in nlmixr2
newuoaControl | Control for newuoa estimation method in nlmixr2
nlmControl | nlmixr2 defaults controls for nlm
nlmeControl | Control Values for nlme Fit with extra options for nlmixr
nlminbControl | nlmixr2 nlminb defaults
nlmixr | nlmixr2 fits population PK and PKPD non-linear mixed effects models.
nlmixr2 | nlmixr2 fits population PK and PKPD non-linear mixed effects models.
nlmixr2.function | nlmixr2 fits population PK and PKPD non-linear mixed effects models.
nlmixr2.nlmixr2FitCore | nlmixr2 fits population PK and PKPD non-linear mixed effects models.
nlmixr2.nlmixr2FitCoreSilent | nlmixr2 fits population PK and PKPD non-linear mixed effects models.
nlmixr2.nlmixr2FitData | nlmixr2 fits population PK and PKPD non-linear mixed effects models.
nlmixr2.rxUi | nlmixr2 fits population PK and PKPD non-linear mixed effects models.
nlmixr2AllEst | Show all the current estimation methods
nlmixr2AllEstType | Tagged list of the available nlmixr2 estimation methods
nlmixr2AugPredSolve | Augmented Prediction for nlmixr2 fit
nlmixr2CreateOutputFromUi | Create nlmixr output from the UI
nlmixr2Est | Generic for nlmixr2 estimation methods
nlmixr2Est.agq | Generic for nlmixr2 estimation methods
nlmixr2Est.agqf | Generic for nlmixr2 estimation methods
nlmixr2Est.bfgs | Generic for nlmixr2 estimation methods
nlmixr2Est.bobyqa | Generic for nlmixr2 estimation methods
nlmixr2Est.brent | Generic for nlmixr2 estimation methods
nlmixr2Est.cg | Generic for nlmixr2 estimation methods
nlmixr2Est.default | Generic for nlmixr2 estimation methods
nlmixr2Est.emvi | Generic for nlmixr2 estimation methods
nlmixr2Est.fbvi | Generic for nlmixr2 estimation methods
nlmixr2Est.fo | Generic for nlmixr2 estimation methods
nlmixr2Est.foce | Generic for nlmixr2 estimation methods
nlmixr2Est.focef | Generic for nlmixr2 estimation methods
nlmixr2Est.focei | Generic for nlmixr2 estimation methods
nlmixr2Est.foceif | Generic for nlmixr2 estimation methods
nlmixr2Est.focep | Generic for nlmixr2 estimation methods
nlmixr2Est.focepf | Generic for nlmixr2 estimation methods
nlmixr2Est.foi | Generic for nlmixr2 estimation methods
nlmixr2Est.iagq | Generic for nlmixr2 estimation methods
nlmixr2Est.iagqf | Generic for nlmixr2 estimation methods
nlmixr2Est.ifoce | Generic for nlmixr2 estimation methods
nlmixr2Est.ifocef | Generic for nlmixr2 estimation methods
nlmixr2Est.ifocei | Generic for nlmixr2 estimation methods
nlmixr2Est.ifoceif | Generic for nlmixr2 estimation methods
nlmixr2Est.ifocep | Generic for nlmixr2 estimation methods
nlmixr2Est.ifocepf | Generic for nlmixr2 estimation methods
nlmixr2Est.ilaplace | Generic for nlmixr2 estimation methods
nlmixr2Est.imp | Generic for nlmixr2 estimation methods
nlmixr2Est.impmap | Generic for nlmixr2 estimation methods
nlmixr2Est.inpag | Generic for nlmixr2 estimation methods
nlmixr2Est.inpb | Generic for nlmixr2 estimation methods
nlmixr2Est.laplace | Generic for nlmixr2 estimation methods
nlmixr2Est.lbfgsb | Generic for nlmixr2 estimation methods
nlmixr2Est.lbfgsb3c | Generic for nlmixr2 estimation methods
nlmixr2Est.magq | Generic for nlmixr2 estimation methods
nlmixr2Est.magqf | Generic for nlmixr2 estimation methods
nlmixr2Est.mfoce | Generic for nlmixr2 estimation methods
nlmixr2Est.mfocef | Generic for nlmixr2 estimation methods
nlmixr2Est.mfocei | Generic for nlmixr2 estimation methods
nlmixr2Est.mfoceif | Generic for nlmixr2 estimation methods
nlmixr2Est.mfocep | Generic for nlmixr2 estimation methods
nlmixr2Est.mfocepf | Generic for nlmixr2 estimation methods
nlmixr2Est.mlaplace | Generic for nlmixr2 estimation methods
nlmixr2Est.mnpag | Generic for nlmixr2 estimation methods
nlmixr2Est.mnpb | Generic for nlmixr2 estimation methods
nlmixr2Est.n1qn1 | Generic for nlmixr2 estimation methods
nlmixr2Est.neldermead | Generic for nlmixr2 estimation methods
nlmixr2Est.newuoa | Generic for nlmixr2 estimation methods
nlmixr2Est.nlm | Generic for nlmixr2 estimation methods
nlmixr2Est.nlme | Generic for nlmixr2 estimation methods
nlmixr2Est.nlminb | Generic for nlmixr2 estimation methods
nlmixr2Est.nls | Generic for nlmixr2 estimation methods
nlmixr2Est.npag | Generic for nlmixr2 estimation methods
nlmixr2Est.npb | Generic for nlmixr2 estimation methods
nlmixr2Est.optim | Generic for nlmixr2 estimation methods
nlmixr2Est.output | Generic for nlmixr2 estimation methods
nlmixr2Est.posthoc | Generic for nlmixr2 estimation methods
nlmixr2Est.predict | Generic for nlmixr2 estimation methods
nlmixr2Est.qrpem | Generic for nlmixr2 estimation methods
nlmixr2Est.rxSolve | Generic for nlmixr2 estimation methods
nlmixr2Est.saem | Generic for nlmixr2 estimation methods
nlmixr2Est.sann | Generic for nlmixr2 estimation methods
nlmixr2Est.simulate | Generic for nlmixr2 estimation methods
nlmixr2Est.simulation | Generic for nlmixr2 estimation methods
nlmixr2Est.uobyqa | Generic for nlmixr2 estimation methods
nlmixr2Est.vae | Generic for nlmixr2 estimation methods
nlmixr2fix | Try to fix a nlmixr2 fit
nlmixr2Gill83 | Get the optimal forward difference interval by Gill83 method
nlmixr2Hess | Calculate Hessian
nlmixr2Keywords | A list and description of the fields in the nlmxir2 object
nlmixr2Logo | Messages the nlmixr2 logo...
nlmixr2NlmeControl | Control Values for nlme Fit with extra options for nlmixr
nlmixr2Validate | Validate nlmixr2
nlmixr2Version | Display nlmixr2's version
nlmixrAddObjectiveFunctionDataFrame | Add objective function data frame to the current objective function
nlmixrAddTiming | Manually add time to a nlmixr2 object
nlmixrCbind | nlmixrCbind
nlmixrClone | Clone nlmixr environment
nlmixrWithTiming | Time a part of a nlmixr operation and add to nlmixr object
nlsControl | nlmixr2 defaults controls for nls
nmNearPD | C++ implementation of Matrix's nearPD
nmObjGetControl | Get control object from fit
nmObjGetControl.agq | Get control object from fit
nmObjGetControl.bobyqa | Get control object from fit
nmObjGetControl.default | Get control object from fit
nmObjGetControl.emvi | Get control object from fit
nmObjGetControl.fbvi | Get control object from fit
nmObjGetControl.fo | Get control object from fit
nmObjGetControl.foce | Get control object from fit
nmObjGetControl.focei | Get control object from fit
nmObjGetControl.focep | Get control object from fit
nmObjGetControl.foi | Get control object from fit
nmObjGetControl.iagq | Get control object from fit
nmObjGetControl.ifoce | Get control object from fit
nmObjGetControl.ifocei | Get control object from fit
nmObjGetControl.ifocep | Get control object from fit
nmObjGetControl.ilaplace | Get control object from fit
nmObjGetControl.imp | Get control object from fit
nmObjGetControl.impmap | Get control object from fit
nmObjGetControl.inpag | Get control object from fit
nmObjGetControl.inpb | Get control object from fit
nmObjGetControl.laplace | Get control object from fit
nmObjGetControl.lbfgsb3c | Get control object from fit
nmObjGetControl.magq | Get control object from fit
nmObjGetControl.mfoce | Get control object from fit
nmObjGetControl.mfocei | Get control object from fit
nmObjGetControl.mfocep | Get control object from fit
nmObjGetControl.mlaplace | Get control object from fit
nmObjGetControl.mnpag | Get control object from fit
nmObjGetControl.mnpb | Get control object from fit
nmObjGetControl.n1qn1 | Get control object from fit
nmObjGetControl.newuoa | Get control object from fit
nmObjGetControl.nlm | Get control object from fit
nmObjGetControl.nlme | Get control object from fit
nmObjGetControl.nlminb | Get control object from fit
nmObjGetControl.nls | Get control object from fit
nmObjGetControl.npag | Get control object from fit
nmObjGetControl.npb | Get control object from fit
nmObjGetControl.optim | Get control object from fit
nmObjGetControl.posthoc | Get control object from fit
nmObjGetControl.qrpem | Get control object from fit
nmObjGetControl.saem | Get control object from fit
nmObjGetControl.uobyqa | Get control object from fit
nmObjGetControl.vae | Get control object from fit
nmObjGetEstimationModel | Get the estimation model for a fit object depending on the object type
nmObjGetEstimationModel.default | Get the ipred model for a fit object depending on the object type
nmObjGetEstimationModel.saem | Get the ipred model for a fit object depending on the object type
nmObjGetFoceiControl | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.agq | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.default | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.foce | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.focep | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.iagq | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.ifoce | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.ifocei | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.ifocep | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.ilaplace | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.imp | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.impmap | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.inpag | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.inpb | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.laplace | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.magq | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.mfoce | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.mfocei | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.mfocep | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.mlaplace | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.mnpag | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.mnpb | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.nlme | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.npag | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.npb | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.posthoc | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.qrpem | Method for getting focei compatible control object from nlmixr object
nmObjGetFoceiControl.saem | Method for getting focei compatible control object from nlmixr object
nmObjGetIpredModel | Get the ipred model for a fit object depending on the object type
nmObjGetIpredModel.default | Get the ipred model for a fit object depending on the object type
nmObjGetIpredModel.saem | Get the ipred model for a fit object depending on the object type
nmObjGetPredOnly | Get the pred-only model for a fit depending on the object type
nmObjGetPredOnly.default | Get the pred-only model for a fit depending on the object type
nmObjGetPredOnly.saem | Get the pred-only model for a fit depending on the object type
nmObjHandleControlObject | Handle the control object
nmObjHandleControlObject.agqControl | Handle the control object
nmObjHandleControlObject.bobyqaControl | Handle the control object
nmObjHandleControlObject.default | Handle the control object
nmObjHandleControlObject.emviControl | Handle the control object
nmObjHandleControlObject.foceControl | Handle the control object
nmObjHandleControlObject.foceiControl | Handle the control object
nmObjHandleControlObject.focepControl | Handle the control object
nmObjHandleControlObject.foControl | Handle the control object
nmObjHandleControlObject.foiControl | Handle the control object
nmObjHandleControlObject.iagqControl | Handle the control object
nmObjHandleControlObject.ifoceControl | Handle the control object
nmObjHandleControlObject.ifoceiControl | Handle the control object
nmObjHandleControlObject.ifocepControl | Handle the control object
nmObjHandleControlObject.ilaplaceControl | Handle the control object
nmObjHandleControlObject.impmapControl | Handle the control object
nmObjHandleControlObject.laplaceControl | Handle the control object
nmObjHandleControlObject.lbfgsb3cControl | Handle the control object
nmObjHandleControlObject.magqControl | Handle the control object
nmObjHandleControlObject.mfoceControl | Handle the control object
nmObjHandleControlObject.mfoceiControl | Handle the control object
nmObjHandleControlObject.mfocepControl | Handle the control object
nmObjHandleControlObject.mlaplaceControl | Handle the control object
nmObjHandleControlObject.n1qn1Control | Handle the control object
nmObjHandleControlObject.newuoaControl | Handle the control object
nmObjHandleControlObject.nlmControl | Handle the control object
nmObjHandleControlObject.nlmeControl | Handle the control object
nmObjHandleControlObject.nlminbControl | Handle the control object
nmObjHandleControlObject.nlsControl | Handle the control object
nmObjHandleControlObject.optimControl | Handle the control object
nmObjHandleControlObject.posthocControl | Handle the control object
nmObjHandleControlObject.saemControl | Handle the control object
nmObjHandleControlObject.uobyqaControl | Handle the control object
nmObjHandleControlObject.vaeControl | Handle the control object
nmObjHandleModelObject | Handle Model Object
nmObjHandleModelObject.default | Handle Model Object
nmObjHandleModelObject.foceiModelList | Handle Model Object
nmObjHandleModelObject.saemModelList | Handle Model Object
nmObjUiSetCompressed | Set if the nlmixr2 object will return a compressed ui
nmsimplex | Nelder-Mead simplex search
nmTest | Validate nlmixr2
npagControl | Control for the npag (nonparametric adaptive grid) method
npbControl | Control for the npb (nonparametric Bayes) method

## -- O --

ofv | Return the objective function
optimControl | nlmixr2 optim defaults

## -- P --

posthocControl | Control options for the posthoc estimation method
predict.nlmixr2FitCore | Predict method for nlmixr2 fit core objects
print.saemFit | Print an SAEM model fit summary

## -- Q --

qrpemControl | Control for the qrpem (quasi-random parametric EM) estimation method

## -- R --

residuals.nlmixr2FitData | Extract residuals from the FOCEI fit
rmEta | Remove an eta from the model

## -- S --

saemControl | Control Options for SAEM
setCov | Set the covariance type based on prior calculated covariances
setOfv | Set/get Objective function type for a nlmixr2 object
sqrtm | Return the square root of general square matrix A
summary.saemFit | Print an SAEM model fit summary

## -- T --

tableControl | Output table/data.frame options

## -- U --

uobyqaControl | Control for uobyqa estimation method in nlmixr2

## -- V --

vaeControl | Control for vae (variational autoencoder) estimation method in nlmixr2
vaeCovariates | Covariates explored by the VAE covariate search
vpcSim | VPC simulation

## -- Y --

yeoJohnson | Cox Box, Yeo Johnson and inverse transformation

## -- misc --

.augPredIpredModel | Augment Prediction for Ipred Model
.nlmFamilyFitGeneric | Shared fit driver for the nlm-family estimation methods
.nlmixr0preProcessCovariatesPresent | Preprocess Covariates needed (or other data items)
.nlmixr0preProcessNpMuExpand | Preprocessing hook: mu-expand non-mu structural fixed-effect thetas for the nonparametric engines, before the rest of the pipeline builds on the ui. Doing it here (rather than mutating the ui mid-setup) keeps the injected pseudo-etas consistent through covariate/mu processing and model compilation. Off when control$muExpand is FALSE.
.nlmixrPreprocessLiteralFix | This literally fixes parameters in the model
.preProcessDataUi | Preprocess the zero omegas
.preProcessLinCmtOde | Translate a mixed 'linCmt()'/ODE model to all-ODEs
.preProcessVaeNonMuTheta | VAE preprocessing hook: inject etas for non-mu-referenced thetas per vaeControl(nonMuTheta=).
.preProcessZeroOmega | Preprocess the zero omegas
.preProcessZeroTheta | Nudge exactly-zero theta initial estimates off zero (FOCEi family)