## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", warning = FALSE, message = FALSE ) ## ----setup-------------------------------------------------------------------- library(CGMissingDataR) ## ----example-data------------------------------------------------------------- data("CGMExmplDat10Pct") summary_table <- data.frame( Rows = nrow(CGMExmplDat10Pct), Columns = ncol(CGMExmplDat10Pct), Subjects = length(unique(CGMExmplDat10Pct$USUBJID)), MissingGlucose = sum(is.na(CGMExmplDat10Pct$LBORRES)), MissingPercent = round(mean(is.na(CGMExmplDat10Pct$LBORRES)) * 100, 1) ) summary_table head(CGMExmplDat10Pct) ## ----basic-imputation--------------------------------------------------------- impute_out <- suppressWarnings( run_missing_glucose_imputation( CGMExmplDat10Pct, target_col = "LBORRES", feature_cols = c("AGE", "hba1c", "SEX"), id_col = "USUBJID", time_col = "Time", imputer_backend = "mice", xgb_nrounds = 5 ) ) ## ----output-shape------------------------------------------------------------- class(impute_out) nrow(impute_out) names(impute_out) ## ----output-preview----------------------------------------------------------- head(impute_out[c( "USUBJID", "SEX", "Time", "LBORRES", "AGE", "hba1c", "imputed_glucose_value" )]) ## ----original-target-unchanged------------------------------------------------ sum(is.na(CGMExmplDat10Pct$LBORRES)) sum(is.na(impute_out$LBORRES)) sum(is.na(impute_out$imputed_glucose_value)) ## ----missing-row-preview------------------------------------------------------ missing_rows <- is.na(impute_out$LBORRES) head(impute_out[missing_rows, c( "USUBJID", "Time", "LBORRES", "imputed_glucose_value" )]) ## ----internal-feature-check--------------------------------------------------- grep("^lag[0-9]+$|^rollmean$|^TimeSeries$|^TimeDifferenceMinutes$", names(impute_out), value = TRUE) ## ----rounding-example, eval = FALSE------------------------------------------- # impute_out$imputed_glucose_value_rounded <- round(impute_out$imputed_glucose_value) ## ----python-backend-example, eval = FALSE------------------------------------- # out_py <- run_missing_glucose_imputation( # CGMExmplDat10Pct, # target_col = "LBORRES", # feature_cols = c("AGE", "hba1c"), # id_col = "USUBJID", # time_col = "Time", # imputer_backend = "sklearn", # xgb_nrounds = 5 # ) # # head(out_py[c( # "USUBJID", # "Time", # "LBORRES", # "imputed_glucose_value" # )]) ## ----export-example, eval = FALSE--------------------------------------------- # out <- run_missing_glucose_imputation( # CGMExmplDat10Pct, # target_col = "LBORRES", # feature_cols = c("AGE", "hba1c"), # id_col = "USUBJID", # time_col = "Time", # imputer_backend = "mice", # export = TRUE # ) ## ----session-info------------------------------------------------------------- utils::sessionInfo()