Skip to contents

This function takes a flextable object, and applies APA 7th standard style formatting to it.
The initial idea for this function stems from Remi Theriault's Blog.
Reference on what APA style for tables constitutes can be obtained on the website. See also the very neat packages flextable and read_docx, by David Gohel and Colleagues, which enables us to get our publication ready tables directly into MS Word.


  font = "Times New Roman",
  fontsize = 12,
  table_caption = c("Table x", "Some Description of the Table"),
  table_note = NA,
  italize_stats = TRUE,
  linespacing = 1.25,



A flextable object (prefered) or data.frame, to be formatted in accordance with APA. Required!


Default is "Times New Roman", can be changed to your needs (e.g., "Arial")


Default is 12, bigger font size is not recommended.


Takes a character vector. Note: when provided NA no caption will be placed! Recommend are the following elements

  • Table + number (e.g., "Table 1")

  • The description, use APA capital case (e.g., "Sociodemographic Characteristics of the Total Sample")


Takes a character vector. Will automatically prepend Note if not present. Default is NA (no table note). e.g., is c("Explanation of Abbreviations", "* p < .05. ** p < .01. *** p < .001"). Please note that you will need to manually set the formatting (i.e., setting italic for p values).


Boolean, default is TRUE. Searches the header for common statistic symbols (e.g. p N SD M) and sets font to italic


Points of Linespacing defaults to 1.25, APA would be 1.5 or 2


(Optional) Additional Parameters, not utiliezd in this function, enables passing from passing of previous functions


An APA style formatted flextable object.

See also


Bjoern Buedenbender / Remi Theriault