The helper make.calltype() creates a vector that identifies per block if
the imputation model is taken from predictorMatrix or formulas. The
function is used internally by mice().
make.calltype(calltype, predictorMatrix, formulas, priority = "pred")A character vector of length equal to the number of blocks in predictorMatrix.
Each element specifies how the imputation model for the corresponding block is defined.
Valid values are "pred" and "formula". If NULL, the calltype
will be "pred" for all blocks, unless priority is "formula".
A matrix specifying the predictors for each block. Each row corresponds to a block, and each column corresponds to a variable. Non-zero entries indicate that the variable is used as a predictor for the block.
A list of formulas, where each element corresponds to a block in predictorMatrix.
If a formula is provided for a block, the corresponding calltype entry is set to "formula".
If NULL, formulas are not used to modify calltype.
A character string specifying the default value for calltype when it is NULL.
Defaults to "pred". If priority == "formula", the calltype will be "formula"
for blocks found in formulas with a matching name.
A character vector of length equal to the number of rows in predictorMatrix.
Each element is either "pred" or "formula", indicating how the imputation model
is specified for the corresponding block.
# Example predictorMatrix
predictorMatrix <- matrix(1, nrow = 3, ncol = 3,
dimnames = list(c("block1", "block2", "block3"), c("x1", "x2", "y")))
predictorMatrix[1, 3] <- 0
# Case 1: No calltype or formulas specified
make.calltype(NULL, predictorMatrix, NULL)
#> block1 block2 block3
#> "pred" "pred" "pred"
# Case 2: Formulas provided
formulas <- list(
NULL,
y ~ x1 + x2,
NULL
)
make.calltype(NULL, predictorMatrix, formulas)
#> block1 block2 block3
#> "pred" "pred" "pred"
# Case 3: Custom calltype
calltype <- c("pred", "formula", "pred")
make.calltype(calltype, predictorMatrix, NULL)
#> block1 block2 block3
#> "pred" "formula" "pred"