This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Ctrl+Shift+Enter.


install.packages("mice")
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/
Installing package into 㤼㸱C:/Users/anilp/OneDrive/Documents/R/win-library/3.6㤼㸲
(as 㤼㸱lib㤼㸲 is unspecified)
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/mice_3.6.0.zip'
Content type 'application/zip' length 1855619 bytes (1.8 MB)
downloaded 1.8 MB
package ‘mice’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\anilp\AppData\Local\Temp\RtmpGYFlA4\downloaded_packages
# Install and load the R package mice
 
install.packages("mice") # Needs to be done only once
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/
Installing package into 㤼㸱C:/Users/anilp/OneDrive/Documents/R/win-library/3.6㤼㸲
(as 㤼㸱lib㤼㸲 is unspecified)
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/mice_3.6.0.zip'
Content type 'application/zip' length 1855619 bytes (1.8 MB)
downloaded 1.8 MB
package ‘mice’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\anilp\AppData\Local\Temp\RtmpGYFlA4\downloaded_packages
library("mice") # Load package
Loading required package: lattice

Attaching package: 㤼㸱mice㤼㸲

The following objects are masked from 㤼㸱package:base㤼㸲:

    cbind, rbind
MyData <- read.csv(file="C:/Development/diabetes_test.csv", header=TRUE, sep=";")
data <- data.frame(MyData)

# Deterministic regression imputation

imp <- mice(data, method = "norm.predict", m = 10) # Impute data

 iter imp variable
  1   1  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   2  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   3  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   4  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   5  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   6  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   7  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   8  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   9  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   10  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   1  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   2  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   3  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   4  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   5  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   6  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   7  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   8  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   9  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   10  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   1  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   2  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   3  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   4  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   5  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   6  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   7  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   8  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   9  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   10  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   1  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   2  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   3  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   4  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   5  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   6  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   7  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   8  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   9  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   10  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   1  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   2  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   3  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   4  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   5  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   6  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   7  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   8  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   9  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   10  Glucose  BloodPressure  SkinThickness  Insulin  BMI
data_det <- complete(imp) # Store data

# Stochastic regression imputation
 
imp <- mice(data, method = "norm.nob", m = 10) # Impute data

 iter imp variable
  1   1  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   2  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   3  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   4  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   5  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   6  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   7  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   8  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   9  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  1   10  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   1  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   2  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   3  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   4  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   5  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   6  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   7  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   8  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   9  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  2   10  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   1  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   2  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   3  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   4  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   5  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   6  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   7  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   8  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   9  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  3   10  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   1  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   2  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   3  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   4  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   5  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   6  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   7  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   8  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   9  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  4   10  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   1  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   2  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   3  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   4  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   5  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   6  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   7  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   8  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   9  Glucose  BloodPressure  SkinThickness  Insulin  BMI
  5   10  Glucose  BloodPressure  SkinThickness  Insulin  BMI
data_sto <- complete(imp) # Store data


# Graphical comparison of deterministic and stochastic regression imputation
 
par(mfrow = c(1, 2)) # Both plots in one graphic
 
# Deterministic regression imputation plot
plot(data$Glucose[!is.na(data$Insulin)], data_det$Insulin[!is.na(data$Insulin)],     # Plot of observed values
     xlim = c(40, 200), ylim = c(10, 900),
     main = "Deterministic Regression Imputation",
     xlab = "Glucose", ylab = "Insulin")
points(data$Glucose[is.na(data$Insulin)], data_det$Insulin[is.na(data$Insulin)],     # Plot of missing values
       col = "red")
abline(lm(data$Insulin ~ data$Glucose, data_det), col = "#1b98e0", lwd = 1.5) # Regression slope
 
# Stochastic regression imputation plot
plot(data$Glucose[!is.na(data$Insulin)], data_sto$Insulin[!is.na(data$Insulin)],     # Plot of observed values
     xlim = c(40, 200), ylim = c(10, 900),
     main = "Stochastic Regression Imputation",
     xlab = "Glucose", ylab = "Insulin")
points(data$Glucose[is.na(data$Insulin)], data_sto$Insulin[is.na(data$Insulin)],     # Plot of missing values
       col = "red")
abline(lm(data$Insulin ~ data$Glucose, data_sto), col = "#1b98e0", lwd = 1.5) # Regression slope

Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.

When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file).

The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike Knit, Preview does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed.

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpUaGlzIGlzIGFuIFtSIE1hcmtkb3duXShodHRwOi8vcm1hcmtkb3duLnJzdHVkaW8uY29tKSBOb3RlYm9vay4gV2hlbiB5b3UgZXhlY3V0ZSBjb2RlIHdpdGhpbiB0aGUgbm90ZWJvb2ssIHRoZSByZXN1bHRzIGFwcGVhciBiZW5lYXRoIHRoZSBjb2RlLiANCg0KVHJ5IGV4ZWN1dGluZyB0aGlzIGNodW5rIGJ5IGNsaWNraW5nIHRoZSAqUnVuKiBidXR0b24gd2l0aGluIHRoZSBjaHVuayBvciBieSBwbGFjaW5nIHlvdXIgY3Vyc29yIGluc2lkZSBpdCBhbmQgcHJlc3NpbmcgKkN0cmwrU2hpZnQrRW50ZXIqLiANCg0KYGBge3J9DQoNCmluc3RhbGwucGFja2FnZXMoIm1pY2UiKQ0KDQojIEluc3RhbGwgYW5kIGxvYWQgdGhlIFIgcGFja2FnZSBtaWNlDQogDQppbnN0YWxsLnBhY2thZ2VzKCJtaWNlIikgIyBOZWVkcyB0byBiZSBkb25lIG9ubHkgb25jZQ0KbGlicmFyeSgibWljZSIpICMgTG9hZCBwYWNrYWdlDQoNCk15RGF0YSA8LSByZWFkLmNzdihmaWxlPSJDOi9EZXZlbG9wbWVudC9kaWFiZXRlc190ZXN0LmNzdiIsIGhlYWRlcj1UUlVFLCBzZXA9IjsiKQ0KZGF0YSA8LSBkYXRhLmZyYW1lKE15RGF0YSkNCg0KIyBEZXRlcm1pbmlzdGljIHJlZ3Jlc3Npb24gaW1wdXRhdGlvbg0KDQppbXAgPC0gbWljZShkYXRhLCBtZXRob2QgPSAibm9ybS5wcmVkaWN0IiwgbSA9IDEwKSAjIEltcHV0ZSBkYXRhDQpkYXRhX2RldCA8LSBjb21wbGV0ZShpbXApICMgU3RvcmUgZGF0YQ0KDQojIFN0b2NoYXN0aWMgcmVncmVzc2lvbiBpbXB1dGF0aW9uDQogDQppbXAgPC0gbWljZShkYXRhLCBtZXRob2QgPSAibm9ybS5ub2IiLCBtID0gMTApICMgSW1wdXRlIGRhdGENCmRhdGFfc3RvIDwtIGNvbXBsZXRlKGltcCkgIyBTdG9yZSBkYXRhDQoNCg0KIyBHcmFwaGljYWwgY29tcGFyaXNvbiBvZiBkZXRlcm1pbmlzdGljIGFuZCBzdG9jaGFzdGljIHJlZ3Jlc3Npb24gaW1wdXRhdGlvbg0KIA0KcGFyKG1mcm93ID0gYygxLCAyKSkgIyBCb3RoIHBsb3RzIGluIG9uZSBncmFwaGljDQogDQojIERldGVybWluaXN0aWMgcmVncmVzc2lvbiBpbXB1dGF0aW9uIHBsb3QNCnBsb3QoZGF0YSRHbHVjb3NlWyFpcy5uYShkYXRhJEluc3VsaW4pXSwgZGF0YV9kZXQkSW5zdWxpblshaXMubmEoZGF0YSRJbnN1bGluKV0sICAgICAjIFBsb3Qgb2Ygb2JzZXJ2ZWQgdmFsdWVzDQogICAgIHhsaW0gPSBjKDQwLCAyMDApLCB5bGltID0gYygxMCwgOTAwKSwNCiAgICAgbWFpbiA9ICJEZXRlcm1pbmlzdGljIFJlZ3Jlc3Npb24gSW1wdXRhdGlvbiIsDQogICAgIHhsYWIgPSAiR2x1Y29zZSIsIHlsYWIgPSAiSW5zdWxpbiIpDQpwb2ludHMoZGF0YSRHbHVjb3NlW2lzLm5hKGRhdGEkSW5zdWxpbildLCBkYXRhX2RldCRJbnN1bGluW2lzLm5hKGRhdGEkSW5zdWxpbildLCAgICAgIyBQbG90IG9mIG1pc3NpbmcgdmFsdWVzDQogICAgICAgY29sID0gInJlZCIpDQphYmxpbmUobG0oZGF0YSRJbnN1bGluIH4gZGF0YSRHbHVjb3NlLCBkYXRhX2RldCksIGNvbCA9ICIjMWI5OGUwIiwgbHdkID0gMS41KSAjIFJlZ3Jlc3Npb24gc2xvcGUNCiANCiMgU3RvY2hhc3RpYyByZWdyZXNzaW9uIGltcHV0YXRpb24gcGxvdA0KcGxvdChkYXRhJEdsdWNvc2VbIWlzLm5hKGRhdGEkSW5zdWxpbildLCBkYXRhX3N0byRJbnN1bGluWyFpcy5uYShkYXRhJEluc3VsaW4pXSwgICAgICMgUGxvdCBvZiBvYnNlcnZlZCB2YWx1ZXMNCiAgICAgeGxpbSA9IGMoNDAsIDIwMCksIHlsaW0gPSBjKDEwLCA5MDApLA0KICAgICBtYWluID0gIlN0b2NoYXN0aWMgUmVncmVzc2lvbiBJbXB1dGF0aW9uIiwNCiAgICAgeGxhYiA9ICJHbHVjb3NlIiwgeWxhYiA9ICJJbnN1bGluIikNCnBvaW50cyhkYXRhJEdsdWNvc2VbaXMubmEoZGF0YSRJbnN1bGluKV0sIGRhdGFfc3RvJEluc3VsaW5baXMubmEoZGF0YSRJbnN1bGluKV0sICAgICAjIFBsb3Qgb2YgbWlzc2luZyB2YWx1ZXMNCiAgICAgICBjb2wgPSAicmVkIikNCmFibGluZShsbShkYXRhJEluc3VsaW4gfiBkYXRhJEdsdWNvc2UsIGRhdGFfc3RvKSwgY29sID0gIiMxYjk4ZTAiLCBsd2QgPSAxLjUpICMgUmVncmVzc2lvbiBzbG9wZQ0KDQpgYGANCg0KQWRkIGEgbmV3IGNodW5rIGJ5IGNsaWNraW5nIHRoZSAqSW5zZXJ0IENodW5rKiBidXR0b24gb24gdGhlIHRvb2xiYXIgb3IgYnkgcHJlc3NpbmcgKkN0cmwrQWx0K0kqLg0KDQpXaGVuIHlvdSBzYXZlIHRoZSBub3RlYm9vaywgYW4gSFRNTCBmaWxlIGNvbnRhaW5pbmcgdGhlIGNvZGUgYW5kIG91dHB1dCB3aWxsIGJlIHNhdmVkIGFsb25nc2lkZSBpdCAoY2xpY2sgdGhlICpQcmV2aWV3KiBidXR0b24gb3IgcHJlc3MgKkN0cmwrU2hpZnQrSyogdG8gcHJldmlldyB0aGUgSFRNTCBmaWxlKS4NCg0KVGhlIHByZXZpZXcgc2hvd3MgeW91IGEgcmVuZGVyZWQgSFRNTCBjb3B5IG9mIHRoZSBjb250ZW50cyBvZiB0aGUgZWRpdG9yLiBDb25zZXF1ZW50bHksIHVubGlrZSAqS25pdCosICpQcmV2aWV3KiBkb2VzIG5vdCBydW4gYW55IFIgY29kZSBjaHVua3MuIEluc3RlYWQsIHRoZSBvdXRwdXQgb2YgdGhlIGNodW5rIHdoZW4gaXQgd2FzIGxhc3QgcnVuIGluIHRoZSBlZGl0b3IgaXMgZGlzcGxheWVkLg0K