https://github.com/tom-n-walker/uphill-plants-soil-carbon
Tip revision: 951e73295060ad88bddf5d48a3aa4b9d90475312 authored by Tom Walker on 07 September 2021, 14:32:36 UTC
Merge branch 'main' of github.com:tom-n-walker/uphill-plants-soil-carbon into main
Merge branch 'main' of github.com:tom-n-walker/uphill-plants-soil-carbon into main
Tip revision: 951e732
apply_mice.R
################################################################################
#### Project: General functionality
#### Title: Function | Small function | Apply MICE imputation
#### Author: Tom Walker (thomas.walker@usys.ethz.ch)
#### Date: 15 July 2020
#### ---------------------------------------------------------------------------
apply_mice <- function(matrix, iter){
# get column names
cols <- colnames(matrix)
colnames(matrix) <- paste0("C", 1:ncol(matrix))
# apply mice imputation
imp <- mice(
matrix,
iter
)
# generate list and add each imputation round to a bin
imp_list <- list()
for(i in 1:iter){
imp_list[[i]] <- as.matrix(
complete(imp, i)
)
}
# take means of these iterations
out <- apply(
simplify2array(imp_list),
1:2,
mean,
na.rm = T
) %>% as.data.frame
colnames(out) <- cols
# return
return(out)
}