The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

earthUI

Interactive GUI for Enhanced Adaptive Regression Through Hinges (EARTH) models.

earthUI provides a Shiny-based graphical interface for the earth package, making it easy to build, explore, and export multivariate adaptive regression spline models without writing code.

System Requirements

Installation

# Install remotes if needed
install.packages("remotes")

# Install earthUI from GitHub
remotes::install_github("wcraytor/earthUI")

Optional: Report Export

To export reports (HTML, PDF, or Word), install the Quarto CLI and the R package:

install.packages("quarto")

For PDF reports, a LaTeX distribution is also required:

install.packages("tinytex")
tinytex::install_tinytex()

On Linux, the Roboto Condensed font must be installed as a system font for PDF rendering:

sudo apt install -y fonts-roboto fonts-lmodern   # Ubuntu/Debian
fc-cache -fv

Quick Start

library(earthUI)
launch()

This opens an interactive Shiny application where you can:

  1. Pick or create a project — projects are the unit of work; each lives at a fixed location in the regProj tree.
  2. Import data from CSV or Excel files into the project’s in/ folder
  3. Configure variables — select target, predictors, flag categoricals, and designate special column types (contract date, DOM, concessions, latitude/longitude, living area, lot size, age, etc.)
  4. Set model parameters — degree, interaction constraints, advanced tuning
  5. View results — coefficients, variable importance, partial dependence, diagnostics
  6. Export reports — generate a Quarto source bundle, then convert to HTML, PDF, or Word

Project Organization

earthUI organizes work as projects under a per-machine regProj root folder. Set the location once via Settings → “regProj Root Folder” (defaults to ~/regProj on Mac/Linux, C:/regProj on Windows; can also be overridden with the REGPROJ_ROOT environment variable).

Each project lives at:

<regProj root>/<purpose>/<flat-segment>/<os>_in/<file>            # input data
<regProj root>/<purpose>/<flat-segment>/<os>_out_<method>/<file>  # outputs

where:

Geographic codes (countries / states / counties / cities) are seeded into <regProj>/geo.sqlite from comprehensive shipped data — US Census FIPS for all incorporated places, plus GeoNames-derived data for GB, DE, IT, FR, SE, and SG. Roughly 70,000 admin entries out of the box; users can add more via the New Project modal.

Per-project model settings (target, predictors, parameters, interactions) live in <regProj>/projects.sqlite keyed by project + filename. So a project folder is fully self-contained: you can tar it up, sync it via rsync, or hand it to a colleague — they get the data, outputs, and settings together.

Appraisal Mode

For real estate appraisal workflows, earthUI provides:

Demo Data

earthUI includes a demo appraisal dataset (Appraisal_1.csv) with residential sales data. Access it with:

demo_file <- system.file("extdata", "Appraisal_1.csv", package = "earthUI")
df <- import_data(demo_file)

Programmatic Use

All analytical functions are available independently of the Shiny app:

library(earthUI)

# Load the demo dataset
demo_file <- system.file("extdata", "Appraisal_1.csv", package = "earthUI")
df <- import_data(demo_file)
cats <- detect_categoricals(df)

# Fit a model
result <- fit_earth(df, target = "sale_price",
                    predictors = c("living_sqft", "lot_size", "age"))

# Examine results
format_summary(result)
format_variable_importance(result)

# Plot
plot_variable_importance(result)
plot_contribution(result, 1)

Working with the project model from R

# List all projects under the active regProj root
list_df <- regproj_list_projects(sort_by = "recent")

# Read settings programmatically (e.g., for batch automation / ValEngr)
proj_path <- list_df$project_path[1L]
settings <- get_project_settings(proj_path, file_basename = "data.csv")

# Compose canonical project paths
in_dir  <- regproj_path("appr", "us", c("ca", "081", "burlin"),
                        "lakemerritt_2026", os = "mac", in_or_out = "in")
out_dir <- regproj_path("appr", "us", c("ca", "081", "burlin"),
                        "lakemerritt_2026", os = "mac",
                        in_or_out = "out", method = "earth")

Generate / Convert Quarto reports

# Generate a self-contained Quarto bundle (source + plots + reference.docx)
qmd <- generate_quarto_report(result, dest_dir = out_dir, base = "Appraisal_1")

# Convert any .qmd file (not just earthUI-generated) to HTML / Word / PDF
convert_quarto_file(qmd, formats = c("html", "docx"))

License

AGPL-3

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.