## ----setup, include=FALSE----------------------------------------------------- knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE) # Required packages required_packages <- c( "deSolve", "sp", "tm", "glmnet", "caret", "kernlab", "survival", "randomForest", "EpidigiR" ) missing_pkgs <- required_packages[!vapply(required_packages, requireNamespace, logical(1L), quietly = TRUE)] if (length(missing_pkgs) > 0) { message("Missing packages: ", paste(missing_pkgs, collapse = ", ")) message("Install them manually before running this vignette: install.packages(missing_pkgs)") } for (pkg in required_packages) { if (requireNamespace(pkg, quietly = TRUE)) { suppressPackageStartupMessages(library(pkg, character.only = TRUE)) } } # Prepare datasets if (exists("ml_data")) { ml_data$outcome <- as.factor(ml_data$outcome) } if (exists("clinical_data")) { clinical_data$outcome <- as.factor(clinical_data$outcome) } ## ----------------------------------------------------------------------------- data(epi_prevalence) result <- epi_analyze( epi_prevalence, outcome = "cases", population = "population", group = "region", type = "summary" ) print(result) ## ----------------------------------------------------------------------------- sir_result <- epi_analyze( data = NULL, outcome = NULL, type = "sir", N = 1000, beta = 0.3, gamma = 0.1, days = 50 ) epi_visualize(sir_result, x = "time", y = "Infected", type = "curve", main = "Epidemic Curve") ## ----------------------------------------------------------------------------- data(epi_prevalence) coordinates(epi_prevalence) <- ~lon + lat epi_visualize(epi_prevalence, x = "prevalence", type = "map", main = "Prevalence Map") ## ----------------------------------------------------------------------------- data(clinical_data) clinical_data$outcome <- as.factor(clinical_data$outcome) model <- epi_model(clinical_data, formula = outcome ~ age + health_score + dose, type = "logistic") head(model$predictions) ## ----------------------------------------------------------------------------- rf_model <- epi_model(clinical_data, formula = outcome ~ age + health_score + dose, type = "rf") head(rf_model$predictions) ## ----------------------------------------------------------------------------- data(daly_data) epi_analyze(daly_data, outcome = NULL, type = "daly") ## ----------------------------------------------------------------------------- data(geno_data) epi_model(geno_data, formula = outcome ~ snp1 + snp2, type = "snp") ## ----------------------------------------------------------------------------- data(survey_data) epi_analyze(survey_data, outcome = NULL, type = "age_standardize") ## ----------------------------------------------------------------------------- data(ml_data) epi_model(ml_data, formula = outcome ~ age + exposure + genetic_risk, type = "logistic") ## ----------------------------------------------------------------------------- data(survival_data) epi_model(survival_data, type = "survival") ## ----------------------------------------------------------------------------- data(nlp_data) nlp_result <- epi_analyze(nlp_data, outcome = NULL, population = NULL, type = "nlp", n = 5) head(nlp_result) ## ----------------------------------------------------------------------------- data(ml_data) epi_model(ml_data[, c("age", "exposure", "genetic_risk")], type = "kmeans", k = 3) ## ----------------------------------------------------------------------------- data(ml_data) ml_data$outcome <- as.factor(ml_data$outcome) svm_model <- epi_model(ml_data, formula = outcome ~ age + exposure + genetic_risk, type = "svmRadial") svm_model$performance ## ----------------------------------------------------------------------------- data(diagnostic_data) epi_analyze(diagnostic_data, outcome = NULL, type = "diagnostic") ## ----------------------------------------------------------------------------- data(clinical_data) epi_visualize(clinical_data, x = "arm", y = "outcome", type = "boxplot", main = "Outcome by Treatment Arm") ## ----------------------------------------------------------------------------- data(ml_data) epi_visualize(ml_data, x = "age", y = "outcome", type = "scatter", main = "Age vs. Disease Outcome")