Guide

Getting started

Installing it, finding your way around, and what happens to your data. New here? Start with the walkthrough. For what the app actually computes — the function behind each analysis and what the numbers mean — see the Reference.

Installation

One line installs and launches everything — R (if you don't have it), the app, and its R packages, into your user folder. No admin rights, no Docker. You run this once; on Windows it then creates a Desktop shortcut you use from then on.

Windows · PowerShell
iwr -useb https://easyanalysis.dev/install.ps1 | iex
macOS & Linux · Terminal
curl -fsSL https://easyanalysis.dev/install.sh | sh

What it does, in order: finds or downloads a portable R → downloads the app → installs missing packages into a private library → starts the app and opens your browser. The first run can take several minutes; later runs start in seconds because each step is cached.

On Windows it also creates an EasyAnalysis shortcut on your Desktop and in the Start Menu, so afterwards you can start the app by double-clicking it — no terminal at all. The shortcut opens minimised rather than hidden, so there is still a window to check if anything goes wrong. Desktop shortcuts are Windows-only for now; on macOS and Linux, re-run the install line to start the app again.

To close the app, use the Quit button at the top right. It stops the R session properly; closing the launcher window also works.

On Windows R is downloaded automatically if you don't have it. On macOS/Linux an existing R is used; if there is none the script installs it with Homebrew where available, or tells you the single command for your system. Spatial packages compile from source on macOS/Linux, so the first run takes longer there.

Requirements

Item Needed
OS Windows, macOS and Linux
R Windows: downloaded automatically if missing. macOS/Linux: an existing R is used, or installed via Homebrew / your package manager
Disk ~2 GB for R and the spatial packages
Memory 8 GB is comfortable; large point clouds want more
Internet Only for install, package downloads, basemap tiles and satellite search
Account None. There is no sign-in and no cloud service.

The workspace

One frame holds everything, so you never switch screens mid-analysis.

Region What it holds
Menu bar Project · Edit · View · Add Data · Processing · Controls · Packages · Settings · Help, plus a tool search box
Layers panel (left) Every dataset and layer, each with a visibility switch and an expandable legend / styling
Canvas (centre) The map, the chart builder, or the active tool's results
Tool panel (right) The open tool's settings; can be floated or minimised
Results dock (far right) Past results, as chips — click to pop one out, drag and resize it
R console (bottom) Slides up on demand for direct R
Status bar Project, active dataset, dimensions, memory in use, and where the project is saved

Views: Map view for spatial layers, Data view for tables and charts, and Split for both with a draggable divider. The app opens on whichever suits your data and then leaves the choice to you.

Methods available

Group Methods
Data Column management, row filtering, type conversion, factor levels, aggregation, binning, imputation, joins, batch apply; descriptive statistics and correlation
Statistics t-tests and non-parametric tests, chi-square, ANOVA with Tukey HSD, linear regression (multiple, polynomial, ridge/lasso, Poisson), logistic and multinomial regression, linear mixed effects, GAM, survival analysis, SEM and mediation, Bayesian analysis, time series
Machine learning Random forest, XGBoost, decision trees, support vector machines, neural networks, discriminant analysis (LDA, WLDA, QDA, RLDA, KDA, LLDA, MMC), clustering (k-means, hierarchical, Gower/PAM), one-vs-all classification, PCA and dimension reduction
Spatial & LiDAR Raster and vector analysis, surface models (DTM/DSM/CHM), terrain analysis, hydrology, suitability modelling, land classification, night-time lights, climate trend, wind, satellite search and download, point cloud viewing, canopy height models, individual tree detection, LiDAR metrics

Model screens report R², RMSE, bias and relative RMSE, and increasingly a plain-English reading of the result. Models only run when you press Run.

Supported files

Kind Extensions Notes
Tables .csv .txt .xlsx .xls Separator and numeric detection configurable in Settings
Raster .tif .tiff .img .asc .nc .grd Drawn on the map; large rasters are downsampled for display only
Vector .shp .gpkg .geojson .json Shapefiles need all their sidecar files selected together
Point cloud .las .laz Decimated on read to protect memory
Project .eap A whole project in one file
An unrecognised extension isn't rejected outright — the app inspects the file and loads it as a raster or vector if it can.

Map symbology

Symbology is how a layer is drawn on the map — its colours, outlines and transparency, and whether those vary with the data. Every layer keeps its own settings, and they are saved with the project, so a map you style once looks the same when you reopen it.

Where to find it

In the Layers panel, click the chevron at the right of a layer's row to expand it. The symbology controls appear beneath the layer name, along with a legend once the colours vary.

Vector layers — three ways to colour

ModeWhat it doesUse it when
Single symbol Every feature drawn the same. You choose a fill colour and an outline colour. The layer is context — boundaries, roads, a study area — and the data behind it is not what you are showing.
Categorised One colour per distinct value of a column. Species, land-cover class, treatment group, yes/no. The column holds groups. Each group gets its own colour and its own legend entry.
Graduated A numeric column split into classes, shaded light to dark. Volume, height, area, density, a model prediction. The column holds amounts, and you want to see where the high and low values are.

Choosing a column

Only columns that suit the mode are offered, so you cannot pick something that produces a meaningless map:

  • Categorised offers text, factor and yes/no columns, plus number columns whose values genuinely repeat. A number column with a different value on every feature — an ID, a measurement — is not offered, because colouring by it would give every feature its own colour and a legend as long as the layer.
  • Graduated offers number columns only.

If a layer has no suitable column for the mode you picked, the panel says so rather than leaving you with an empty list.

Classes and breaks (graduated)

You can split the values into 3 to 9 classes. The class boundaries are chosen by quantiles — each class holds roughly the same number of features. This is deliberate: most measured data is skewed, and cutting it into equal-width bands would put nearly everything in one class and leave the rest almost empty. Where the values are too tied for quantiles to give distinct boundaries, equal-width bands are used instead.

The legend lists each class and the range of values it covers.

Palettes

Five colour ramps are available for categorised and graduated layers: viridis, magma, plasma, cividis and turbo. These are perceptually uniform — equal steps in the data look like equal steps in colour — and viridis, magma, plasma and cividis remain distinguishable for the most common forms of colour blindness. Cividis is the safest choice if that matters for your audience.

Outline and opacity

Two sliders apply in every mode:

  • Outline width — 0 to 6. Set it to 0 for fills with no border; raise it to make thin lines easier to see and to click.
  • Fill opacity — 0 to 1. Lower it to see the basemap or another layer through a polygon; set it to 0 for outline-only polygons.

Point layers also use the outline width for the ring around each point.

How it applies to each geometry type

GeometryWhat the colour drives
PointsFill of the circle; the outline ring uses the outline colour, or the class colour when categorised or graduated.
LinesThe line colour. Opacity is applied more strongly than for fills, so lines stay visible.
PolygonsThe fill. The outline keeps its own colour so class boundaries stay legible.

Raster layers

Rasters have their own controls in the same place:

  • True colour (RGB) — for imagery with three or more bands, choose which band feeds red, green and blue. Sentinel-2 and similar products are detected automatically where the bands are labelled.
  • Single band — draw one band as a shaded ramp instead.

Selection is not symbology

Selected features are always outlined in red, whatever the layer's symbology. That is deliberate: a selection has to stand out from your colour scheme rather than blend into it. Clearing the selection returns the features to their normal appearance.

Symbology settings are stored per layer and saved with the project. If you rename a layer, its styling follows the new name.

Projects & storage

A project is a folder on your machine. Tables are stored inside it; large spatial files are referenced in place so nothing is duplicated. Work is saved as you go — there is no Save button to forget.

  • Where: your local app-data folder; the exact path is shown in the status bar.
  • Save As (.eap): zips the project into one shareable file.
  • Import: opens a .eap someone sent you.
  • Export report: a self-contained HTML summary of the project.

Packages

Core methods work out of the box. Some optional ones need an extra R package — the app tells you which, and installs it for you.

  • Packages ▸ Find & install — search CRAN (typos are tolerated) and install from the result row.
  • Optional packages — the list of extras, showing what's already installed.
  • After installing, the package is loaded immediately — no restart.

Privacy & security

The app runs entirely on your machine. There is no account, no cloud storage and no telemetry. It listens only on 127.0.0.1, so nothing is exposed to your network.

Goes online When What is sent
OpenAI Only if you use the Co-Analyst The current screen's context and a picture of the current plot, with your own API key
CRAN Installing packages Package names only
Basemap tiles Viewing the map Standard map tile requests
Satellite archives Only when you search for imagery Your search area and dates

Your data files are never uploaded anywhere. Close the Co-Analyst and the app makes no calls that involve your data at all.

Troubleshooting

Symptom What to do
The browser tab is blank or stale Hard-refresh (Ctrl+Shift+R)
"Port in use" An older copy is still running — close that terminal window, then start again
The app stops when I close the terminal Expected: that window is the app. Keep it open.
A large .laz is slow or fails Point clouds are decimated on read, but very large files still need memory. Watch the memory reading in the status bar.
My raster is in the wrong place on the map Its CRS is missing or wrong; set it in the raster tools before mapping.
A method says a package is missing Packages ▸ Find & install, then run it again
The Co-Analyst won't answer Add your OpenAI key with the gear icon in its panel

How to cite

If EasyAnalysis contributed to your work, please cite it. Replace the version and year with the ones you actually used — the version is shown in Help ▸ About and in the status bar.

APA

Reference
Gibson, T. C. (2026). EasyAnalysis: point-and-click statistical, machine-learning
    and spatial analysis (Version 0.11.27) [Computer software].
    https://easyanalysis.dev

BibTeX

BibTeX
@software{gibson_easyanalysis,
  author  = {Gibson, Tim Casanda},
  title   = {{EasyAnalysis: point-and-click statistical, machine-learning and
             spatial analysis}},
  year    = {2026},
  version = {0.11.27},
  url     = {https://easyanalysis.dev},
  note    = {Computer software}
}

The repository also carries a CITATION.cff, so GitHub's Cite this repository button gives the same details in APA or BibTeX automatically.

Several screens implement published methods. Where they do, the method's own paper is listed on the References screen inside the app and should be cited alongside this one — citing the tool does not replace citing the method.