filter.mids: Subset rows of a 'mids' object

View source: R/filter.R

filter.midsR Documentation

Subset rows of a mids object

Description

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.

Usage

## S3 method for class 'mids'
filter(.data, ..., .preserve = FALSE)

Arguments

.data

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.

.preserve

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.

Value

An S3 object of class mids

Note

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

Author(s)

Patrick Rockenschaub

See Also

filter

Examples

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))
nrow(complete(imp_f))

# example with calculated include vector
imp_f2 <- filter(imp, age >= 2 & hyp == 1)
nrow(complete(imp_f2)) # should be 5

mice documentation built on June 7, 2023, 5:38 p.m.