https://github.com/tom-n-walker/uphill-plants-soil-carbon
Raw File
Tip revision: 05e1672664e587a3808d326d6f78d29ca5e44c01 authored by Tom Walker on 07 September 2021, 14:31:53 UTC
Added all analyses, streamlined pipelines and improved statistical models. Removed data export (all done via drake cache).
Tip revision: 05e1672
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)
}
back to top