How can I perform an operation (like subsetting or adding a calculated column) on each imputed dataset in an object of class `mids` from R's package `mice`? I would like the result to still be a `mids` object.

**Edit: Example**

```
library(mice)
data(nhanes)

# create imputed datasets
imput = mice(nhanes)

```

The imputed datasets are stored as a list of lists

```
imput$imp

```

where there are rows only for the observations with imputation for the given variable. 

The original (incomplete) dataset is stored here:

```
imput$data

```

For example, how would I create a new variable calculated as `chl/2` in each of the imputed datasets, yielding a new `mids` object?
['https://Stackoverflow.com/questions/26667162', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1212811/']
Another option is to calculate the variables before the imputation and place restrictions on them.

```r
library(mice)

# Create the additional variable - this will have missing
nhanes$extra <- nhanes$chl / 2

# Change the method of imputation for extra, so that it always equals chl/2
# Change the predictor matrix so only chl predicts extra
ini <- mice(nhanes, max = 0, print = FALSE)

meth <- ini$meth
meth["extra"] <- "~I(chl / 2)"

pred <- ini$pred  # extra isn't used to predict
pred["extra", "chl"] <- 1

# Imputations
imput <- mice(nhanes, seed = 1, pred = pred, meth = meth, print = FALSE)

```

There are examples in [mice: Multivariate Imputation by Chained Equations in R](https://www.jstatsoft.org/article/view/v045i03).
There's a function for this in the `basecamb` package:

```
library(basecamb)
apply_function_to_imputed_data(mids_object, function)

```