clmm covariate model when there are no baseline covariates in the modelnewdata for predict() that does not contain the outcome variableadd_samples(): calculation of end() of mcmc samples fixedadd_samples() when used in parallel with thinning fixedpredict() can now handle newdata with missing outcome values; predicted values for cases with missing covariates are NA (prediction with incomplete covariates is planned to be implemented in the future)get_MIdat() and plot_imp_distr() when only one variable has missing valuesncores has changed to n.cores for consistency with n.iter, n.chains, etc.coxph_imp() does no longer use a counting process implementation but uses the likelihood in JAGS directly via the zeros trickpredict() now has an argument length to change number of evaluation pointssummary(), predict(), traceplot(), densplot(), GR_crit(), MC_error() now have an argument exclude_chains that allows to specify chains that should be omittedcitation() now refers to a manuscript on arXivglmm_lognorm available to impute level-1 covariates with a log-normal mixed modelresiduals() and plot() available for (some of the) main analysis types (details see documentation)models added to get_models() so that the user can specify to also include models for complete covariates (which are then positioned in the sequence of models according to the systematic used in JointAI). Specification of a model not needed for imputation prints a notification.JointAI objects (most types) now also include residuals and fitted values (so far, only using fixed effects)print.JointAI fixedXl is no longer included in data_list when it is not used in the modelsubset when specified as vectorsummary: range of iterations is printed correctly now when argument end is usedsummary() calls GR_crit() with argument autoburnin = FALSE unless specified otherwise via ...inits is specified as a function, the function is evaluated and the resulting list passed to JAGS (previously the function was passed to JAGS)simong and simWide have changed (more variables, less subjects)imp_pars = TRUE (when user specified via monitor_params or subset)survreg_imp the sign of the regression coefficient is now opposite to match the one from survregmeth has changed to modelsadd_samples(): bug that copied the last chain to all other chains fixedXc, so that specification of functions of covariates in auxiliary variables works betterdensplot() issue (all plots showed all lines) fixedplot_all(), densplot(), and traceplot() limit the number of plots on one page to 64 when rows and columns of the layout are not user specified (to avoid the ‘figure margins too large’ error)longDF example data: new version containing complete and incomplete categorical longitudinal variables (and variable names L1 and L2 changed to c1 and c2)list_impmodels() changed to list_models() (but list_impmodels() is kept as an alias for now)clm_imp() and clmm_imp(): new functions for analysis of ordinal (mixed) modelscoxph_imp(): new function to fit Cox proportional hazards models with incomplete (baseline) covariatesno_model allows to specify names of completely observed variables for which no model should be specified (e.g., “time” in a mixed model)ridge = TRUE allows to use shrinkage priors on the precision of the regression coefficients in the analysis modelplot_all() can now handle variables from classes Date and POSIXtparallel allows different MCMC chains to be sampled in parallelncores allows to specify the maximum number of cores to be usedseed added for reproducible results; also a sampler (.RNG.name) and seed value for the sampler (.RNG.seed) are set or added to user-provided initial values (necessary for parallel sampling and reproducibility of results)plot_imp_distr(): new function to plot distribution of observed and imputed valuesRinvD is no longer selected to be monitored in random intercept model (RinvD is not used in such a model)summary(): reduced default number of digitsmeth now uses default values if only specified for subset of incomplete variablesget_MIdat(): argument minspace added to ensure spacing of iterations selected as imputationsdensplot(): accepts additional options, e.g., lwd, col, …list_models() replaces the function list_impmodels() (which is now an alias)coef() method added for JointAI object and summary.JointAI objectconfint() method added for JointAI objectprint() method added for JointAI objectsurvreg_imp() added to perform analysis of parametric (Weibull) survival modelsglme_imp() added to perform generalized linear mixed modelingtraceplot(), densplot(): specification of nrow AND ncol possible; fixed bug when only nrow specifiedcontrast.arg that now in some cases cause error| # JointAI 0.3.2 |
## Bug fixes * lme_imp(): fixed error in JAGS model when interaction between random slope variable and longitudinal variable |
| ## Minor changes * unused levels of factors are dropped |
plot_all() uses correct level-2 %NA in titlesimWide: case with no observed bmi values removedtraceplot(), densplot(): ncol and nrow now work with use_ggplot = TRUEtraceplot(), densplot(): error in specification of nrow fixeddensplot(): use of color fixedsubset now return random effects covariance matrix correctlysummary() displays output with rowname when only one node is returned and fixed display of D matrixGR_crit(): Literature reference correctedpredict(): prediction with varying factor fixedplot_all() uses xpd = TRUE when printing text for character variableslist_impmodels() uses linebreak when output of predictor variables exceeds getOption("width")summary() now displays tail-probabilities for off-diagonal elements of Dpredict(): now also returns newdata extended with prediction| # JointAI 0.3.0 |
## Bug fixes * monitor_params is now checked to avoid problems when only part of the main parameters is selected * categorical imputation models now use min-max trick to prevent probabilities outside [0, 1] * initial value generation for logistic analysis model fixed * bug-fix in re-ordering columns when a function is part of the linear predictor * bug-fix in initial values for categorical covariates * bug-fix in finding imputation method when function of variable is specified as auxiliary variable |
## Minor changes * md.pattern() now uses ggplot, which scales better than the previous version * lm_imp(), glm_imp() and lme_imp() now ask about overwriting a model file * analysis_main = T stays selected when other parameters are followed as well * get_MIdat(): argument include added to select if original data are included and id variable .id is added to the dataset * subset argument uses same logit as monitor_params argument * added switch to hide messages; distinction between messages and warnings * lm_imp(), glm_imp() and lme_imp() now take argument trunc in order to truncate the distribution of incomplete variables * summary() now omits auxiliary variables from the output * imp_par_list is now returned from JointAI models * cat_vars is no longer returned from lm_imp(), glm_imp() and lme_imp(), because it is contained in Mlist$refs |
## Extensions * plot_all() function added * densplot() and traceplot() optional with ggplot * densplot() option to combine chains before plotting * example datasets NHANES, simLong and simWide added * list_impmodels to print information on the imputation models and hyperparameters * parameters() added to display the parameters to be/that were monitored * set_refcat() added to guide specification of reference categories * extension of possible functions of variables in model formula to (almost all) functions that are available in JAGS * added vignettes Minimal Example, Visualizing Incomplete Data, Parameter Selection and Model Specification |
md_pattern(): does not generate duplicate plot any moreget_MIdat(): imputed values are now filled in in the correct orderget_MIdat(): variables imputed with lognorm are now included when extracting an imputed datasetget_MIdat(): imputed values of transformed variables are now included in imputed datasetsmeth argumentmd.pattern(): adaptation to new version of md.pattern() from the mice packageNaN to NAgamma and beta imputation methods implemented