Getting Started with EDAForge

Introduction

EDAForge is an R package for automated exploratory data analysis (EDA). It provides functions for descriptive statistics, missing value analysis, correlation analysis, visualization, outlier detection and automated reporting.

library(EDAForge)

Example dataset

This vignette uses the built-in iris dataset.

data <- iris
head(iris)
#>   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> 1          5.1         3.5          1.4         0.2  setosa
#> 2          4.9         3.0          1.4         0.2  setosa
#> 3          4.7         3.2          1.3         0.2  setosa
#> 4          4.6         3.1          1.5         0.2  setosa
#> 5          5.0         3.6          1.4         0.2  setosa
#> 6          5.4         3.9          1.7         0.4  setosa

Numeric summary

Generate descriptive statistics for all numeric variables.

num_sum <- numeric_summary(iris)
head(num_sum)
#> 
#> =========================================
#>       EDAForge Numeric Summary
#> =========================================
#> 
#>      Variable   N Missing Mean Median    SD Variance     SE   CV Minimum  Q1
#>  Sepal.Length 150       0 5.84   5.80 0.828    0.686 0.0676 14.2     4.3 5.1
#>   Sepal.Width 150       0 3.06   3.00 0.436    0.190 0.0356 14.3     2.0 2.8
#>  Petal.Length 150       0 3.76   4.35 1.765    3.116 0.1441 47.0     1.0 1.6
#>   Petal.Width 150       0 1.20   1.30 0.762    0.581 0.0622 63.6     0.1 0.3
#>   Q3 Maximum IQR Range Skewness Kurtosis Shapiro_P
#>  6.4     7.9 1.3   3.6    0.309   -0.606  1.02e-02
#>  3.3     4.4 0.5   2.4    0.313    0.139  1.01e-01
#>  5.1     6.9 3.5   5.9   -0.269   -1.417  7.41e-10
#>  1.8     2.5 1.5   2.4   -0.101   -1.358  1.68e-08

Missing value summary

Summarize missing values.

missing_summary(iris)
#> 
#> =========================================
#>       EDAForge Missing Value Report
#> =========================================
#> 
#> Rows                         150
#> Columns                      5
#> Variables with Missing       0
#> Complete Cases               150
#> Total Missing Values         0
#> Overall Missing              0.00%
#> 
#> Variable Summary
#> -----------------------------------------
#>      Variable    Type Missing Percent Complete
#>  Sepal.Length numeric       0       0      150
#>   Sepal.Width numeric       0       0      150
#>  Petal.Length numeric       0       0      150
#>   Petal.Width numeric       0       0      150
#>       Species  factor       0       0      150

Correlation analysis

Compute the correlation matrix for numeric variables.

correlation_analysis(iris)
#> 
#> =====================================
#>       Correlation Matrix
#> =====================================
#> 
#>              Sepal.Length Sepal.Width Petal.Length Petal.Width
#> Sepal.Length        1.000      -0.118        0.872       0.818
#> Sepal.Width        -0.118       1.000       -0.428      -0.366
#> Petal.Length        0.872      -0.428        1.000       0.963
#> Petal.Width         0.818      -0.366        0.963       1.000

Export numeric summary

Output files in examples and vignettes should always be written to a temporary directory.

outfile <- file.path(tempdir(), "NumericSummary.csv")

export_numeric_summary(
  num_sum,
  outfile
)

file.exists(outfile)
#> [1] TRUE

Automated EDA

Generate an overall exploratory data analysis.

auto_eda(iris)
#> 
#> ========================================
#>           EDAForge Report
#> ========================================
#> 
#> Modules Completed
#> 
#> * Summary 
#> * Missing 
#> * Numeric 
#> * Categorical 
#> * Correlation 
#> * Outliers 
#> * PCA 
#> * Cluster 
#> * Statistics

Session information

sessionInfo()
#> R version 4.5.1 (2025-06-13 ucrt)
#> Platform: x86_64-w64-mingw32/x64
#> Running under: Windows 10 x64 (build 19045)
#> 
#> Matrix products: default
#>   LAPACK version 3.12.1
#> 
#> locale:
#> [1] LC_COLLATE=C                   LC_CTYPE=English_India.utf8   
#> [3] LC_MONETARY=English_India.utf8 LC_NUMERIC=C                  
#> [5] LC_TIME=English_India.utf8    
#> 
#> time zone: Asia/Calcutta
#> tzcode source: internal
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> other attached packages:
#> [1] EDAForge_0.1.1
#> 
#> loaded via a namespace (and not attached):
#>  [1] vctrs_0.6.5        cli_3.6.6          knitr_1.51         rlang_1.3.0       
#>  [5] xfun_0.54          otel_0.2.0         generics_0.1.4     S7_0.2.0          
#>  [9] jsonlite_2.0.0     glue_1.8.0         e1071_1.7-16       htmltools_0.5.9   
#> [13] sass_0.4.10        scales_1.4.0       rmarkdown_2.31     grid_4.5.1        
#> [17] tibble_3.3.0       evaluate_1.0.5     jquerylib_0.1.4    fastmap_1.2.0     
#> [21] yaml_2.3.10        lifecycle_1.0.5    compiler_4.5.1     dplyr_1.1.4       
#> [25] RColorBrewer_1.1-3 pkgconfig_2.0.3    rstudioapi_0.19.0  farver_2.1.2      
#> [29] digest_0.6.37      R6_2.6.1           class_7.3-23       tidyselect_1.2.1  
#> [33] pillar_1.11.1      magrittr_2.0.3     bslib_0.9.0        proxy_0.4-28      
#> [37] tools_4.5.1        gtable_0.3.6       ggplot2_4.0.3      cachem_1.1.0