data <- read.csv(file = "~/Dropbox/DKE/Machine Learning/Master Assignment/Chronic_Kidney_Disease/chronic_kidney_disease_full.csv")
attach(data)

# Data Preprocessing
# Sort dataframe by numerical
# and categorical cols so writing
# imputation code will be easier

### Data preproc
data$al <- as.factor(data$al)
data$su <- as.factor(data$su)

nums <- sapply(data, is.numeric)
cat <- sapply(data, is.factor)
data_num <- data[,nums]
data_cat <- data[,cat]
rm(nums, cat)

data <- cbind(data_num, data_cat)
require(mice)
require(VIM)
require(lattice)
aggr_plot <- aggr(data[-c(25)],combination=T, sortVars=TRUE, labels=names(data), cex.axis=.9, gap=1, ylab=c("Histogram of missing data","Pattern"))

## 
##  Variables sorted by number of missings: 
##  Variable  Count
##       rbc 0.3800
##      rbcc 0.3275
##      wbcc 0.2650
##       pot 0.2200
##       sod 0.2175
##       pcv 0.1775
##        pc 0.1625
##      hemo 0.1300
##        su 0.1225
##        sg 0.1175
##        al 0.1150
##       bgr 0.1100
##        bu 0.0475
##        sc 0.0425
##        bp 0.0300
##       age 0.0225
##       pcc 0.0100
##        ba 0.0100
##       htn 0.0050
##        dm 0.0050
##       cad 0.0050
##     appet 0.0025
##        pe 0.0025
##       ane 0.0025
# Number of rows without any missing value
nrow(data[complete.cases(data),])/nrow(data)
## [1] 0.395
marginplot(data[c("hemo","sc")])

Bottom Bar-plots are supposed to be quite similiar if data is MCAR.

Impute

## 
##  iter imp variable
##   1   1  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   2  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   3  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   4  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   5  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   6  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   7  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   8  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   9  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   10  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   11  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   12  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   13  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   14  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   15  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   16  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   17  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   18  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   19  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   1   20  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   1  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   2  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   3  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   4  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   5  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   6  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   7  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   8  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   9  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   10  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   11  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   12  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   13  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   14  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   15  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   16  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   17  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   18  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   19  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   2   20  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   1  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   2  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   3  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   4  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   5  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   6  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   7  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   8  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   9  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   10  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   11  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   12  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   13  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   14  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   15  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   16  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   17  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   18  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   19  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   3   20  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   1  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   2  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   3  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   4  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   5  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   6  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   7  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   8  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   9  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   10  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   11  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   12  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   13  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   14  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   15  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   16  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   17  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   18  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   19  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   4   20  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   1  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   2  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   3  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   4  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   5  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   6  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   7  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   8  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   9  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   10  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   11  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   12  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   13  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   14  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   15  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   16  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   17  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   18  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   19  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane
##   5   20  age  bp  sg  bgr  bu  sc  sod  pot  hemo  pcv  wbcc  rbcc  al  su  rbc  pc  pcc  ba  htn  dm  cad  appet  pe  ane

Compare density plot of imputed datasets to dataset with missing values

lattice::densityplot(data_imputed)