Learn R Programming

gt (version 0.8.0)

extract_cells: Extract a vector of formatted cells from a gt object

Description

Get a vector of cell data from a gt_tbl object. The output vector will have cell data formatted in the same way as the table.

Usage

extract_cells(
  data,
  columns,
  rows = everything(),
  output = c("auto", "plain", "html", "latex", "rtf", "word")
)

Value

A vector of cell data extracted from a gt table.

Arguments

data

A table object that is created using the gt() function.

columns

The columns containing the cells to extract. Can either be a series of column names provided in c(), a vector of column indices, or a helper function focused on selections. The select helper functions are: starts_with(), ends_with(), contains(), matches(), one_of(), num_range(), and everything().

rows

Optional rows to limit the extraction of cells. Providing everything() (the default) results in all rows in columns being formatted. Alternatively, we can supply a vector of row captions within c(), a vector of row indices, or a helper function focused on selections. The select helper functions are: starts_with(), ends_with(), contains(), matches(), one_of(), num_range(), and everything(). We can also use expressions to filter down to the rows we need (e.g., [colname_1] > 100 & [colname_2] < 50).

output

The output style of the resulting character vector. This can either be "auto" (the default), "plain", "html", "latex", "rtf", or "word". In knitr rendering (i.e., Quarto or R Markdown), the "auto" option will choose the correct output value

Examples

Let's create a gt table with the exibble dataset to use in the next few examples:

gt_tbl <- gt(exibble, rowname_col = "row", groupname_col = "group")

We can extract a cell from the table with the extract_cells() function. This is done by providing a column and a row intersection:

extract_cells(gt_tbl, columns = num, row = 1)

#> [1] "1.111e-01"

Multiple cells can be extracted. Let's get the first four cells from the char column.

extract_cells(gt_tbl, columns = char, rows = 1:4)

#> [1] "apricot" "banana" "coconut" "durian"

We can format cells and expect that the formatting is fully retained after extraction.

gt_tbl %>%
  fmt_number(columns = num, decimals = 2) %>%
  extract_cells(columns = num, rows = 1)

#> [1] "0.11"

Function ID

13-7

See Also

Other table export functions: as_latex(), as_raw_html(), as_rtf(), as_word(), extract_summary(), gtsave()