The formats function extracts all assigned formats from a data frame, and returns them in a named list. The function also assigns formats from a named list.


formats(x) <- value



A data frame or tibble


A named list of formats


A named list of formats.


If formats are assigned to the "format" attributes of the data frame columns, the formats function will extract those formats. The function will return the formats in a named list, where the names correspond to the name of the column that the format was assigned to. If a column does not have a format attribute assigned, that column will not be included in the list.

When used on the receiving side of an assignment, the function will assign formats to a data frame. The formats should be in a named list, where each name corresponds to the data frame column to assign the format to.

The formats function can also accept a format catalog as input. This feature allows you to save formats in metadata, load them into a format catalog, and quickly assign them to a data frame or tibble. See the fcat function for additional information.

Finally, if you wish to clear out format attributes, assign a NULL value to the formats function.

See also

fdata to display formatted data, value to create user-defined formats, fapply to apply formats to a vector, and fcat to create a format catalog. Also see FormattingStrings for documentation on formatting strings.


# Take subset of data
df1 <- mtcars[1:10, c("mpg", "cyl") ]

# Print current state

# Assign formats
attr(df1$mpg, "format") <- value(condition(x >= 20, "High"),
                                 condition(x < 20, "Low"))
attr(df1$cyl, "format") <- function(x) format(x, nsmall = 1)

# Display formatted data

# Extract format list
lst <- formats(df1)

# Alter format list and reassign
lst$mpg <- value(condition(x >= 22, "High"),
                 condition(x < 22, "Low"))
lst$cyl <- function(x) format(x, nsmall = 2)
formats(df1) <-  lst

# Display formatted data

# Clear formats
formats(df1) <- NULL

# Confirm formats are cleared