This function takes a mids
object and returns a new
mids
object that pertains to the subset of the data
identified by the expression in .... The expression may use
column values from the incomplete data in .data$data
.
# S3 method for class 'mids'
filter(.data, ..., .preserve = FALSE)
A mids
object.
Expressions that return a
logical value, and are defined in terms of the variables in .data$data
.
If multiple expressions are specified, they are combined with the &
operator.
Only rows for which all conditions evaluate to TRUE
are kept.
Relevant when the .data
input is grouped.
If .preserve = FALSE
(the default), the grouping structure
is recalculated based on the resulting data, otherwise the grouping is kept as is.
An S3 object of class mids
The function calculates a logical vector include
of length nrow(.data$data)
.
The function constructs the elements of the filtered mids
object as follows:
data | Select rows in .data$data for which include == TRUE |
imp | Select rows each imputation data.frame in .data$imp for which include == TRUE |
m | Equals .data$m |
where | Select rows in .data$where for which include == TRUE |
blocks | Equals .data$blocks |
call | Equals .data$call |
nmis | Recalculate nmis based on the selected data rows |
method | Equals .data$method |
predictorMatrix | Equals .data$predictorMatrix |
visitSequence | Equals .data$visitSequence |
formulas | Equals .data$formulas |
post | Equals .data$post |
blots | Equals .data$blots |
ignore | Select positions in .data$ignore for which include == TRUE |
seed | Equals .data$seed |
iteration | Equals .data$iteration |
lastSeedValue | Equals .data$lastSeedValue |
chainMean | Set to NULL |
chainVar | Set to NULL |
loggedEvents | Equals .data$loggedEvents |
version | Replaced with current version |
date | Replaced with current date |
imp <- mice(nhanes, m = 2, maxit = 1, print = FALSE)
# example with external logical vector
imp_f <- filter(imp, c(rep(TRUE, 13), rep(FALSE, 12)))
nrow(complete(imp))
#> [1] 25
nrow(complete(imp_f))
#> [1] 13
# example with calculated include vector
imp_f2 <- filter(imp, age >= 2 & hyp == 1)
nrow(complete(imp_f2)) # should be 5
#> [1] 5