| irmi | R Documentation |
In each step of the iteration, one variable is used as a response variable and the remaining variables serve as the regressors.
irmi(
x,
eps = 5,
maxit = 100,
mixed = NULL,
mixed.constant = NULL,
count = NULL,
step = FALSE,
robust = FALSE,
takeAll = TRUE,
noise = TRUE,
noise.factor = 1,
force = FALSE,
robMethod = "lmrob",
force.mixed = TRUE,
mi = 1,
addMixedFactors = FALSE,
trace = FALSE,
init.method = "kNN",
modelFormulas = NULL,
multinom.method = "multinom",
imp_var = TRUE,
imp_suffix = "imp"
)
x |
data.frame or matrix |
eps |
threshold for convergency |
maxit |
maximum number of iterations |
mixed |
column index of the semi-continuous variables |
mixed.constant |
vector with length equal to the number of semi-continuous variables specifying the point of the semi-continuous distribution with non-zero probability |
count |
column index of count variables |
step |
a stepwise model selection is applied when the parameter is set to TRUE |
robust |
if TRUE, robust regression methods will be applied |
takeAll |
takes information of (initialised) missings in the response as well for regression imputation. |
noise |
irmi has the option to add a random error term to the imputed values, this creates the possibility for multiple imputation. The error term has mean 0 and variance corresponding to the variance of the regression residuals. |
noise.factor |
amount of noise. |
force |
if TRUE, the algorithm tries to find a solution in any case, possible by using different robust methods automatically. |
robMethod |
regression method when the response is continuous. Default is
MM-regression with |
force.mixed |
if TRUE, the algorithm tries to find a solution in any case, possible by using different robust methods automatically. |
mi |
number of multiple imputations. |
addMixedFactors |
if TRUE add additional factor variable for each mixed variable as X variable in the regression |
trace |
Additional information about the iterations when trace equals TRUE. |
init.method |
Method for initialization of missing values (kNN or median) |
modelFormulas |
a named list with the name of variables for the rhs of the formulas, which must contain a rhs formula for each variable with missing values, it should look like 'list(y1=c("x1","x2"),y2=c("x1","x3"))“ if factor variables for the mixed variables should be created for the regression models |
multinom.method |
Method for estimating the multinomial models (current default and only available method is multinom) |
imp_var |
TRUE/FALSE if a TRUE/FALSE variables for each imputed variable should be created show the imputation status |
imp_suffix |
suffix for the TRUE/FALSE variables showing the imputation status |
The method works sequentially and iterative. The method can deal with a mixture of continuous, semi-continuous, ordinal and nominal variables including outliers.
A full description of the method can be found in the mentioned reference.
the imputed data set.
Deprecated: irmi() is considered legacy functionality.
For new projects, please use vimpute() instead, which provides
a more modern, flexible and robust imputation framework.
Matthias Templ, Alexander Kowarik
M. Templ, A. Kowarik, P. Filzmoser (2011) Iterative stepwise regression imputation using standard and robust methods. Computational Statistics & Data Analysis, Vol. 55, pp. 2793-2806.
A. Kowarik, M. Templ (2016) Imputation with R package VIM. Journal of Statistical Software, 74(7), 1-16.
M. Templ (2023) Visualization and Imputation of Missing Values. Springer Publishing. Series in Computational Statistics. Cham. Switzerland. 463 pages. DOI: 10.1007/978-3-031-30073-8
Other imputation methods:
hotdeck(),
impPCA(),
imputeCellEM(),
imputeCellIRMI(),
imputeCellM(),
imputeCellMCD(),
imputeCellwise(),
imputeRobust(),
imputeRobustChain(),
kNN(),
matchImpute(),
medianSamp(),
rangerImpute(),
regressionImp(),
sampleCat(),
vimmi,
vimpute(),
xgboostImpute()
data(sleep)
irmi(sleep)
data(testdata)
imp_testdata1 <- irmi(testdata$wna, mixed = testdata$mixed)
# mixed.constant != 0 (-10)
testdata$wna$m1[testdata$wna$m1 == 0] <- -10
testdata$wna$m2 <- log(testdata$wna$m2 + 0.001)
imp_testdata2 <- irmi(
testdata$wna,
mixed = testdata$mixed,
mixed.constant = c(-10,log(0.001))
)
imp_testdata2$m2 <- exp(imp_testdata2$m2) - 0.001
#example with fixed formulas for the variables with missing
form = list(
NonD = c("BodyWgt", "BrainWgt"),
Dream = c("BodyWgt", "BrainWgt"),
Sleep = c("BrainWgt" ),
Span = c("BodyWgt" ),
Gest = c("BodyWgt", "BrainWgt")
)
irmi(sleep, modelFormulas = form, trace = TRUE)
# Example with ordered variable
td <- testdata$wna
td$c1 <- as.ordered(td$c1)
irmi(td)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.