Learn R Programming

Huxtable is an R package to create styled tables in multiple output formats, with a friendly, modern interface. Features include:

  • Control over text styling, number format, background colour, borders, padding and alignment.
  • Table cells can span multiple rows and/or columns.
  • Table manipulation via standard R subsetting, or using dplyr.
  • Automatic formatting for knitr/rmarkdown documents.
  • huxreg() function for quick creation of regression tables.
  • Output to HTML, LaTeX, RTF, and Microsoft Word/Excel/Powerpoint, using the officer and openxlsx packages.
  • Quick one-liners to print data frames into a new PDF, HTML page, RTF or Microsoft document.
  • Formatted table display in the R console, including borders, colour, and text styles.

Installing

To install from r-universe:

install.packages("huxtable", repos = c("https://hughjonesd.r-universe.dev", 
                       "https://cloud.r-project.org"))

To install from CRAN:

install.packages('huxtable')

To install the latest version from github:

install.packages('remotes')
remotes::install_github('hughjonesd/huxtable')

Learning more

Check out the website, read the documentation or read the vignette.

Copy Link

Version

Install

install.packages('huxtable')

Monthly Downloads

10,982

Version

5.6.0

License

MIT + file LICENSE

Maintainer

David Hugh-Jones

Last Published

March 5th, 2025

Functions in huxtable (5.6.0)

borders

Set borders
by_rows

Set cell properties by row or column
col_width

Set the width of table columns
caption_pos

Position the table's caption
[.huxtable

Subset a huxtable
caption

Set the table caption
final

Return the last n rows or columns
fmt_pretty

Use prettyNum() to format numbers
fmt_percent

Format numbers as percent
brdr_thickness

Get thickness of a brdr() object
caption_width

Set the width of the table caption
cbind.huxtable

Combine rows or columns
mutate.huxtable

Use dplyr verbs with huxtable objects
height

Set the table height
hux_logo

Huxtable logo
by_values

Map specific cell values to cell properties
guess_knitr_output_format

Guess knitr output format
column_to_header

Convert a column to header rows
header_cols

Mark rows or columns as headers
escape_contents

Escape or unescape text in cells
font_size

Make text larger or smaller
font

Set the font for cell text
huxtable

Create a huxtable
huxtable-package

Quick introduction to huxtable
huxtable-options

Package options
huxtable-news

Changes to the huxtable package
merge_across

Merge cells across rows or down columns
merge_cells

Merge a range of cells
merge_repeated_rows

Merge repeated rows into multirow cells
na_string

Change how NA values are printed
huxtable-FAQ

Frequently Asked Questions, including how to get help
huxreg

Create a huxtable to display model output
mapping-functions

How to set cell properties variably by cell contents
knit_print.huxtable

Print a huxtable within knitr
knit_print.data.frame

Print data frames in knitr using huxtable
number_format

Set how numbers are formatted in cells
latex_float

Set the position of the table float in LaTeX
jams

Prices of 3 jams
label

Set a table label for external referencing
insert_column

Insert a row or column
padding

Set padding
rotation

Rotate text within cells
position

Set the table's position with respect to surrounding content
print.huxtable

Format and print huxtables using a default method
markdown

Interpret cell content as markdown
quick-output

Quickly print objects to a PDF, TeX, HTML, Microsoft Office or RTF document
set_default_properties

Default huxtable properties
set_markdown_contents

Set cell contents, interpreting them as markdown
reexports

Objects exported from other packages
set-outer

Set borders and padding around a rectangle of cells
rowspecs

Different ways to select rows and columns
row_height

Set the height of table rows
set_contents

Set cell contents
print_html

Create HTML representing a huxtable
spans

Extend cells over multiple rows and/or columns
split-across-down

Split a huxtable into multiple huxtables
style-functions

Set multiple properties on headers
[<-.brdr

Replace a subset of a brdr object
report_latex_dependencies

Manage LaTeX dependencies for huxtables
sanitize

Escape text for various formats
set-multiple

Set left, right, top and bottom properties
print_latex

Create LaTeX representing a huxtable
t.huxtable

Transpose a huxtable
stripes

Set background color stripes
table_environment

Set the "table" environment in LaTeX
stripe

Return every n row or column numbers
restack-across-down

Restack huxtables across/down the page
valign

Set the vertical alignment of cell content
print_screen

Print a huxtable on screen
tidy_override

Change a model's tidy output
themes

Theme a huxtable
print_md

Create Markdown representing a huxtable
print_rtf

Create RTF representing a huxtable
tabular_environment

Set the table's tabular environment in LaTeX
rtf_fc_tables

Create RTF font and color tables
text_color

Set the color of text in cells
wrap

Wrap cell content over multiple lines
width

Set the table width
add_footnote

Add a row with a footnote
align

Set the horizontal alignment of cell content
as_flextable

Convert a huxtable for Word/Powerpoint
border-colors

Set border colors
bold

Make cell text bold or italic
as_Workbook

Convert a huxtable for Excel
add_colnames

Add column or row names
add_rows

Insert one huxtable into another
as_huxtable

Convert objects to huxtables
background_color

Set cell background color
by_function

Map cell contents to cell properties using a function or scale
brdr

Create a border object
by_cases

Map cell contents to properties using case_when
by_quantiles

Map numeric quantiles to cell properties
border-styles

Set border styles
by_colorspace

Map numeric cell contents smoothly to colors
by_ranges

Map numeric ranges to cell properties
by_regex

Map cells matching a string or regex to cell properties