MyNixOS website logo
Description

Create Multi-Format Regression Tables.

Create publication-ready regression tables in multiple formats, including 'Word', 'HTML', 'LaTeX', and 'PDF', from statistical models. Supports lm() and glm() models. Includes options for marginal effects, control variable grouping, and robust standard errors using methods described in Zeileis (2004) <doi:10.18637/jss.v011.i10>. Tables can be exported to 'Word' via 'flextable' or to 'LaTeX' for 'PDF' output.

easytable

Create regression tables that are easy to use and easy to read.

easytable is a workhorse table package for lm() and glm() models with predictable defaults across Word/HTML and LaTeX/PDF outputs.

License: MIT pkgdown DOI easytable status badge R-CMD-check

Why easytable

  • One main function: easytable()
  • Code that is easy to use and tables that are easy to read
  • Coherent output style across formats
  • Optional export to .docx and .csv
  • Control-variable indicators (like Stata)

Install

To install easytable please run the command below:

install.packages("easytable")

Quick Start (Penguins)

library(easytable)
library(palmerpenguins)

m1 <- lm(body_mass_g ~ flipper_length_mm, data = penguins)
m2 <- lm(body_mass_g ~ flipper_length_mm + species, data = penguins)
m3 <- lm(body_mass_g ~ flipper_length_mm + species + island, data = penguins)

# Default output is Word/flextable (also prints in HTML contexts)
easytable(m1, m2, m3)

Core Usage Patterns

1) Basic table

easytable(m1, m2, m3)

2) Custom model names

easytable(
  m1, m2, m3,
  model.names = c("Baseline", "With Species", "Full Model")
)

3) Control indicators

easytable(
  m1, m2, m3,
  control.var = c("species", "island")
)

4) Highlight significant coefficients

easytable(
  m1, m2, m3,
  highlight = TRUE
)

5) LaTeX output

easytable(
  m1, m2, m3,
  output = "latex"
)

6) Export files

easytable(
  m1, m2, m3,
  export.word = "mytable.docx",
  export.csv = "mytable.csv"
)

Advanced Options

Robust standard errors

easytable(m1, m2, robust.se = TRUE)

Marginal effects

easytable(m1, m2, margins = TRUE)

Robust SE + marginal effects

easytable(m1, m2, robust.se = TRUE, margins = TRUE)

Supported Model Classes

The easytable supports the following models:

  • lm()
  • glm()

Design Invariants

easytable enforces these defaults:

  1. Coefficient and SE share one cell with a real line break.
  2. Zebra striping applies only to coefficient rows.
  3. No per-coefficient horizontal rules.
  4. Exactly one divider between coefficient rows and model-stat rows.
  5. Control indicators belong to the model-stat block.

See DESIGN_PHILOSOPHY.md for the full contributor policy.

Documentation

  • Package site: https://alfredo-hs.github.io/easytable/
  • Function help: ?easytable
  • Tutorial article: vignette("penguins-tutorial", package = "easytable")
  • Developer roadmap: vignette("developer-roadmap", package = "easytable")
  • Agent handoff notes: AI_NOTES.md
  • Testing protocol: tests/README.md
  • pkgdown source is defined in _pkgdown.yml, pkgdown/index.md, and vignettes/.

Citation

Hernandez Sanchez, A. (2026). easytable: Create Multi-Format Regression Tables. Version 2.1.1. https://doi.org/10.5281/zenodo.18673550
@misc{easytable2026,
	title = {{e}asytable},
	subtitle = {Create Multi-Format Regression Tables},
	author = {Hernandez Sanchez, Alfredo},
	note = {Version 2.1.1},
	year = {2026},
	month = {02},
	date = {2026-02-17},
	publisher = {Zenodo},
	doi = {10.5281/ZENODO.18673550},
	url = {https://github.com/alfredo-hs/easytable}
}

Acknowledgements

This package was created as an education technology to facilitate statistics teaching. Many thanks to the students at Vilnius University and the University of Bucaramanga for their feedback on usability and design. The development of this package was assisted by AI coding tools such as Gemini 3.1 Pro, Claude 4.5 Sonnet, and ChatGPT 5.3 Codex for code debugging, documentation updates, and package restructuring.

Metadata

Version

2.1.1

License

Unknown

Platforms (80)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • sh4-linux
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows