Skip to contents

Writes a portable .zip copy of a saved fit that omits the original dataset (the subject-level data), so a fitted model can be shared without its data. The input may be a live fit object or the base name of an existing saved fit .zip; either way the original is left unchanged and new sibling zips are written. Names are resolved through getOption("nlmixr2save.dir") and getOption("nlmixr2save.prefix") (as for the := cache).

Usage

nlmixr2saveShare(x, noFit = FALSE, file = NULL)

Arguments

x

a fitted model object, or the base name (no extension) of a saved fit .zip to read.

noFit

Boolean; when TRUE, also strip the output tables (the returned prediction/residual data.frame), writing <file>-noData-noFit.zip instead of <file>-noData.zip.

file

optional output base name; defaults to the name of x.

Value

the path of the written .zip, invisibly.

Details

  • nlmixr2saveShare("fit") writes fit-noData.zip – the full fit (predictions and tables intact) with the original data removed.

  • nlmixr2saveShare("fit", noFit=TRUE) writes fit-noData-noFit.zip – the core fit only (model, parameter estimates, objective, omega, etaObf, parHistData), with both the original data and the returned prediction/residual table removed.

See also

Author

Matthew L. Fidler

Examples

# \donttest{
  if (requireNamespace("nlmixr2est", quietly=TRUE) &&
        requireNamespace("nlmixr2data", quietly=TRUE) &&
        requireNamespace("withr")) {
    library(nlmixr2est)
    library(nlmixr2data)
    withr::with_tempdir({
      one.cmt <- function() {
        ini({
          tka <- 0.45; tcl <- log(c(0, 2.7, 100)); tv <- 3.45
          eta.ka ~ 0.6; eta.cl ~ 0.3; eta.v ~ 0.1
          add.sd <- 0.7
        })
        model({
          ka <- exp(tka + eta.ka); cl <- exp(tcl + eta.cl); v <- exp(tv + eta.v)
          linCmt() ~ add(add.sd)
        })
      }
      fit <- nlmixr2(one.cmt, theo_sd, est="focei")
      saveFit(fit)                       # fit.zip (with data)
      nlmixr2saveShare("fit")            # fit-noData.zip
      nlmixr2saveShare("fit", noFit=TRUE) # fit-noData-noFit.zip
    })
  }
#>  
#>  
#>  
#>  
#>  parameter labels from comments are typically ignored in non-interactive mode
#>  Need to run with the source intact to parse comments
#> → Calculating residuals/tables
#>  done
#>  saving fit item: .fdFullCov
#>  saving fit item: .fdFullS
#>  saving fit item: .rownum
#>  saving fit item: AIC
#>  saving fit item: BIC
#>  saving fit item: R
#>  saving fit item: R.0
#>  saving fit item: R.E
#>  saving fit item: R.pd
#>  saving fit item: Rinv
#>  saving fit item: S
#>  saving fit item: S.E
#>  saving fit item: S.pd
#>  saving fit item: S0
#>  saving fit item: Sper
#>  saving fit item: aqHi
#>  saving fit item: aqLow
#>  saving fit item: aqn
#>  saving fit item: censInformation
#>  saving fit item: cholR
#>  saving fit item: cholS
#>  saving fit item: conditionNumberCor
#>  saving fit item: conditionNumberCov
#>  saving fit item: convergence
#>  saving fit item: cov
#>  saving fit item: covLvl
#>  saving fit item: covMethod
#>  saving fit item: covR
#>  saving fit item: covRS
#>  saving fit item: covS
#>  saving fit item: eigenCor
#>  saving fit item: eigenCov
#>  saving fit item: eigenVecCor
#>  saving fit item: eigenVecCov
#>  saving fit item: est
#>  saving fit item: etaObf
#>  saving fit item: extra
#>  saving fit item: fixef
#>  saving fit item: foceiControl0
#>  saving fit item: foceiModel
#>  saving fit item: fullCor
#>  saving fit item: iniDf0
#>  saving fit item: llikObs
#>  saving fit item: logLik
#>  saving fit item: message
#>  saving fit item: method
#>  saving fit item: mixIdx
#>  saving fit item: nAGQ
#>  saving fit item: nEstOmega
#>  saving fit item: nobs
#>  saving fit item: nsub
#>  saving fit item: objDf
#>  saving fit item: objective
#>  saving fit item: ofvType
#>  saving fit item: omega
#>  saving fit item: optReturn
#>  saving fit item: origData
#>  saving fit item: parFixed
#>  saving fit item: parFixedDf
#>  saving fit item: parHistData
#>  saving fit item: phiC
#>  saving fit item: phiH
#>  saving fit item: qfirst
#>  saving fit item: qw
#>  saving fit item: qx
#>  saving fit item: ranef
#>  saving fit item: runInfo
#>  saving fit item: scaleInfo
#>  saving fit item: sessioninfo
#>  saving fit item: shrink
#>  saving fit item: table
#>  saving fit item: time
#>  saving fit item: tolFactor
#>  saving fit item: ui
#>  zipping fit files
#>  removing unzipped fit files
#>  loading fit from fit.R
#>  
#>  
#>  
#>  
#>  
#>  
#>  
#>  
#>  parameter labels from comments are typically ignored in non-interactive mode
#>  Need to run with the source intact to parse comments
#>  removing unzipped fit files
#>  writing shareable fit (no data) to fit-noData.zip
#>  saving fit item: .fdFullCov
#>  saving fit item: .fdFullS
#>  saving fit item: .rownum
#>  saving fit item: AIC
#>  saving fit item: BIC
#>  saving fit item: R
#>  saving fit item: R.0
#>  saving fit item: R.E
#>  saving fit item: R.pd
#>  saving fit item: Rinv
#>  saving fit item: S
#>  saving fit item: S.E
#>  saving fit item: S.pd
#>  saving fit item: S0
#>  saving fit item: Sper
#>  saving fit item: aqHi
#>  saving fit item: aqLow
#>  saving fit item: aqn
#>  saving fit item: censInformation
#>  saving fit item: cholR
#>  saving fit item: cholS
#>  saving fit item: conditionNumberCor
#>  saving fit item: conditionNumberCov
#>  saving fit item: convergence
#>  saving fit item: cov
#>  saving fit item: covLvl
#>  saving fit item: covMethod
#>  saving fit item: covR
#>  saving fit item: covRS
#>  saving fit item: covS
#>  saving fit item: eigenCor
#>  saving fit item: eigenCov
#>  saving fit item: eigenVecCor
#>  saving fit item: eigenVecCov
#>  saving fit item: est
#>  saving fit item: etaObf
#>  saving fit item: extra
#>  saving fit item: fixef
#>  saving fit item: foceiControl0
#>  saving fit item: foceiModel
#>  saving fit item: fullCor
#>  saving fit item: iniDf0
#>  saving fit item: llikObs
#>  saving fit item: logLik
#>  saving fit item: message
#>  saving fit item: method
#>  saving fit item: mixIdx
#>  saving fit item: nAGQ
#>  saving fit item: nEstOmega
#>  saving fit item: nobs
#>  saving fit item: nsub
#>  saving fit item: objDf
#>  saving fit item: objective
#>  saving fit item: ofvType
#>  saving fit item: omega
#>  saving fit item: optReturn
#>  saving fit item: parFixed
#>  saving fit item: parFixedDf
#>  saving fit item: parHistData
#>  saving fit item: phiC
#>  saving fit item: phiH
#>  saving fit item: qfirst
#>  saving fit item: qw
#>  saving fit item: qx
#>  saving fit item: ranef
#>  saving fit item: runInfo
#>  saving fit item: scaleInfo
#>  saving fit item: sessioninfo
#>  saving fit item: shrink
#>  saving fit item: table
#>  saving fit item: time
#>  saving fit item: tolFactor
#>  saving fit item: ui
#>  zipping fit files
#>  removing unzipped fit files
#>  loading fit from fit.R
#>  
#>  
#>  
#>  
#>  
#>  
#>  
#>  
#>  parameter labels from comments are typically ignored in non-interactive mode
#>  Need to run with the source intact to parse comments
#>  removing unzipped fit files
#>  writing shareable fit (no data, no output tables) to fit-noData-noFit.zip
#>  saving fit item: .fdFullCov
#>  saving fit item: .fdFullS
#>  saving fit item: .rownum
#>  saving fit item: AIC
#>  saving fit item: BIC
#>  saving fit item: R
#>  saving fit item: R.0
#>  saving fit item: R.E
#>  saving fit item: R.pd
#>  saving fit item: Rinv
#>  saving fit item: S
#>  saving fit item: S.E
#>  saving fit item: S.pd
#>  saving fit item: S0
#>  saving fit item: Sper
#>  saving fit item: aqHi
#>  saving fit item: aqLow
#>  saving fit item: aqn
#>  saving fit item: censInformation
#>  saving fit item: cholR
#>  saving fit item: cholS
#>  saving fit item: conditionNumberCor
#>  saving fit item: conditionNumberCov
#>  saving fit item: convergence
#>  saving fit item: cov
#>  saving fit item: covLvl
#>  saving fit item: covMethod
#>  saving fit item: covR
#>  saving fit item: covRS
#>  saving fit item: covS
#>  saving fit item: eigenCor
#>  saving fit item: eigenCov
#>  saving fit item: eigenVecCor
#>  saving fit item: eigenVecCov
#>  saving fit item: est
#>  saving fit item: etaObf
#>  saving fit item: extra
#>  saving fit item: fixef
#>  saving fit item: foceiControl0
#>  saving fit item: foceiModel
#>  saving fit item: fullCor
#>  saving fit item: iniDf0
#>  saving fit item: llikObs
#>  saving fit item: logLik
#>  saving fit item: message
#>  saving fit item: method
#>  saving fit item: mixIdx
#>  saving fit item: nAGQ
#>  saving fit item: nEstOmega
#>  saving fit item: nobs
#>  saving fit item: nsub
#>  saving fit item: objDf
#>  saving fit item: objective
#>  saving fit item: ofvType
#>  saving fit item: omega
#>  saving fit item: optReturn
#>  saving fit item: parFixed
#>  saving fit item: parFixedDf
#>  saving fit item: parHistData
#>  saving fit item: phiC
#>  saving fit item: phiH
#>  saving fit item: qfirst
#>  saving fit item: qw
#>  saving fit item: qx
#>  saving fit item: ranef
#>  saving fit item: runInfo
#>  saving fit item: scaleInfo
#>  saving fit item: sessioninfo
#>  saving fit item: shrink
#>  saving fit item: table
#>  saving fit item: time
#>  saving fit item: tolFactor
#>  saving fit item: ui
#>  zipping fit files
#>  removing unzipped fit files
# }