Learn R Programming

remiod: Reference-based Multiple Imputation of Longitudinal Binary and Ordinal Outcomes with non-ignorable missingness

The package remiod provides functionality to perform controlled multiple imputation of binary and ordinal response in the Bayesian framework. Implemented are (generalized) linear regression models for binary data and cumulative logistic models / ordered probit models for ordered categorical data (Wang and Liu 2022). It is also possible to fit multiple models of mixed types simultaneously. Missing values in variables(if present) will be imputed automatically.

remiod has two algorithmic backend. One is JAGS, with which the function performs some preprocessing of the data and creates a JAGS model, which will then automatically be passed to JAGS with the help of the R package rjags. The another is based on the method proposed by Tang (Tang 2018).

Besides the main modelling functions, remiod also provides functions to summarize and visualize results.

Installation

remiod Can be from CRAN:

install.packages("remiod")

Or, it can be installed from GitHub:

# install.packages("remotes")
remotes::install_github("xsswang/remiod")

Main functions

remiod provides the following main functions:

remiod                      #processing data and implementing MCMC sampling
extract_MIdata              #extract imputed data sets
miAnalyze                   #Perform analyses using imputed data and pool results

Currently, methods remiod implements include missing at random (MAR), jump-to-reference (J2R), copy reference (CR), and delta adjustment (delta). For method = "delta", argument delta should follow to specify a numerical values used in delta adjustment. These methods can be requested through extract_MIdata(), and imputed datasets can be analyzed using miAnalyze().

Functions summary(), coef(), and mcmcplot() provide a summary of the posterior distribution under MAR and its visualization.

Minimal Example

data(schizow)

test = remiod(formula = y6 ~ tx + y0 + y1 + y3, data = schizow,
              trtvar = 'tx', algorithm = 'jags', method="MAR",
              ord_cov_dummy = FALSE, n.adapt = 10, n.chains = 1,
              n.iter = 100, thin = 2, warn = FALSE, seed = 1234)

extdt = extract_MIdata(object=test, method="J2R",mi.setting=NULL, M=10, minspace=2)
result = miAnalyze(y6 ~ y0 + tx, data = extdt, pool = TRUE)

Support

For any help with regards to using the package or if you find a bug please create a GitHub issue.

Reference

Erler, NS, D Rizopoulos, and EMEH Lesaffre. 2021. “JointAI: Joint Analysis and Imputation of Incomplete Data in R.” Journal of Statistical Software 100 (20): 1–56. https://doi.org/10.18637/jss.v100.i20.

Tang, Y. 2018. “Controlled Pattern Imputation for Sensitivity Analysis of Longitudinal Binary and Ordinal Outcomes with Nonignorable Dropout.” Statistics in Medicine 37 (9): 1467–81. https://doi.org/10.1002/sim.7583.

Wang, T, and Liu, Y. 2022. “Remiod: Reference-Based Controlled Multiple Imputation of Longitudinal Binary and Ordinal Outcomes with Non-Ignorable Missingness.” arXiv 2203.02771. https://arxiv.org/pdf/2203.02771.

Copy Link

Version

Install

install.packages('remiod')

Monthly Downloads

279

Version

1.0.2

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Maintainer

Tony Wang

Last Published

November 18th, 2022

Functions in remiod (1.0.2)

get_class

Obtain ordinal results based on log-odds (eta) and cut-offs (gamma) from MCMC Internal function to obtain ordinal results based on log-odds (eta) and cut-offs (gamma) from MCMC.
get_subset

Extract specific parameters from MCMC samples
glm_MI_delta

Apply Delta adjustment to Update JAGS MCMC outputs under MAR for Generalized Linear Model
list.models

Listing the sequence of models used for imputation
opm_MI_delta

Apply Delta adjustment to Update JAGS MCMC outputs under MAR for Cumulative Logistic Model
prep_MCMC

Extract MCMC samples of monitored parameters from JointAI object. Code from JointAI.
glm_MI_CR

Apply Copy-Reference(CR) Method to Update JAGS MCMC outputs under MAR for Generalized Linear Model
glm_MI_J2R

Apply Jump-to-Reference(J2R) Method to Update JAGS MCMC outputs under MAR for Generalized Linear Model
miAnalyze

Takes multiply imputed datasets (as generated by the extract_MIdata() function) and runs an analysis function on each of them.
mcmcplot

Visualizing the posterior sample Creates a set of plots for visually evaluating convergence and mixing of the chains from the MCMC sample of an object of class 'remiod'.
clm_MI_CR

Apply Copy-Reference(CR) Method to Update JAGS MCMC outputs under MAR for Cumulative Logistic Model
tang_MI_RB

Implement controlled multiple imputation algorithms proposed by Tang
schizob

wide format of binary response of Schizophrenia data.
remiod

Reference-Based Multiple Imputation for Ordinal/Binary Response
summary

Summarize the results from an object of class remiod
schizow

wide format of ordinal response of Schizophrenia data.
updateMI

Apply a MI method following initial run of remoid function
opm_MI_CR

Apply Copy-Reference(CR) Method to Update JAGS MCMC outputs under MAR for probit Model
opm_MI_J2R

Apply Jump-to-Reference(J2R) Method to Update JAGS MCMC outputs under MAR for Cumulative Logistic Model
schizo

National Institute of Mental Health shizophrenia study
commParams

Common Parameters used by functions of remiod
get_Mlist

Prepare imputation-model-related information
extract_MIdata

Extract a specified number of multiple imputed datasets
get_MI_RB

Create multiple imputed datasets based on assigned imputation method.
antidep

wide format of continuous response of antidepressant data.
clm_MI_J2R

Apply Jump-to-Reference(J2R) Method to Update JAGS MCMC outputs under MAR for Cumulative Logistic Model
clm_MI_delta

Apply Delta adjustment to Update JAGS MCMC outputs under MAR for Cumulative Logistic Model