From cba6a64f251ca07c3b13bff9513f1218822adbad Mon Sep 17 00:00:00 2001 From: krlmlr Date: Sat, 14 Dec 2024 16:34:25 +0000 Subject: [PATCH] Built site for pillar@1.9.99.9900: 90c4533 --- dev/news/index.html | 77 +-------------------------------------------- dev/pkgdown.yml | 2 +- dev/search.json | 2 +- 3 files changed, 3 insertions(+), 78 deletions(-) diff --git a/dev/news/index.html b/dev/news/index.html index e2c2e646..52d91008 100644 --- a/dev/news/index.html +++ b/dev/news/index.html @@ -51,86 +51,11 @@

Features

Math operations on num() objects now pass additional arguments to the mathematical function (@gvelasq, #659, #660).

-

Chore

-
-
-

Continuous integration

-
  • Avoid failure in fledge workflow if no changes (#705).

  • -
  • Fetch tags for fledge workflow to avoid unnecessary NEWS entries (#703).

  • -
  • Use larger retry count for lock-threads workflow (#701).

  • -
  • Ignore errors when removing pkg-config on macOS (#695).

  • -
  • Explicit permissions (#693).

  • -
  • Use styler from main branch (#691).

  • -
  • Need to install R on Ubuntu 24.04 (#689).

  • -
  • Use Ubuntu 24.04 and styler PR (#687).

  • -
  • Use styler from PR.

  • -
  • Correctly detect branch protection (#678).

  • -
  • Use stable pak (#677).

  • -
  • -

    Trigger run (#676).

    -
    • ci: Trigger run

    • -
    • ci: Latest changes

    • -
  • -
  • Trigger run (#675).

  • -
  • -

    Use pkgdown branch (#674).

    -
    • ci: Use pkgdown branch

    • -
    • ci: Updates from duckdb

    • -
  • -
  • -

    Install via R CMD INSTALL ., not pak (#672).

    -
    • ci: Install via R CMD INSTALL ., not pak

    • -
    • ci: Bump version of upload-artifact action

    • -
  • -
  • Install local package for pkgdown builds.

  • -
  • Improve support for protected branches with fledge.

  • -
  • Improve support for protected branches, without fledge.

  • -
  • Sync with latest developments.

  • -
  • Fix edge case of no suggested packages.

  • -
  • Use v2 instead of master.

  • -
  • Inline action.

  • -
  • Refactor dep-suggests-matrix, avoid killing base and recommended packages.

  • -
  • Use dev roxygen2 and decor.

  • -
  • Fix on Windows, tweak lock workflow.

  • -
  • Avoid checking bashisms on Windows.

  • -
  • Better commit message.

  • -
  • Bump versions, better default, consume custom matrix.

  • -
  • Recent updates.

  • -
-

Documentation

-
  • Update _pkgdown.yml to bring back search bar (@olivroy, #667).

  • +
    • Update _pkgdown.yml to bring back search bar (@olivroy, #667).

    • Only implement type_sum.accel() in pkgdown mode (#661).

    • Avoid displaying deprecated argument in @inheritDotParams (@olivroy, #657).

-
-

Testing

-
  • Remove empty snapshot tests (#664).
  • -
-
-

Uncategorized

-
  • Internal changes only.

  • -
  • Merged cran-1.9.0 into main.

  • -

pillar 1.9.0

CRAN release: 2023-03-22

diff --git a/dev/pkgdown.yml b/dev/pkgdown.yml index 26497dcd..d3da661e 100644 --- a/dev/pkgdown.yml +++ b/dev/pkgdown.yml @@ -7,7 +7,7 @@ articles: extending: extending.html numbers: numbers.html printing: printing.html -last_built: 2024-12-14T16:33Z +last_built: 2024-12-14T16:34Z urls: reference: https://pillar.r-lib.org/reference article: https://pillar.r-lib.org/articles diff --git a/dev/search.json b/dev/search.json index b0f786ab..e1671cd9 100644 --- a/dev/search.json +++ b/dev/search.json @@ -1 +1 @@ -[{"path":"https://pillar.r-lib.org/dev/CODE_OF_CONDUCT.html","id":null,"dir":"","previous_headings":"","what":"Contributor Code of Conduct","title":"Contributor Code of Conduct","text":"contributors maintainers project, pledge respect people contribute reporting issues, posting feature requests, updating documentation, submitting pull requests patches, activities. committed making participation project harassment-free experience everyone, regardless level experience, gender, gender identity expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion. Examples unacceptable behavior participants include use sexual language imagery, derogatory comments personal attacks, trolling, public private harassment, insults, unprofessional conduct. Project maintainers right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct. Project maintainers follow Code Conduct may removed project team. Instances abusive, harassing, otherwise unacceptable behavior may reported opening issue contacting one project maintainers. Code Conduct adapted Contributor Covenant (http://contributor-covenant.org), version 1.0.0, available http://contributor-covenant.org/version/1/0/0/","code":""},{"path":"https://pillar.r-lib.org/dev/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2020 pillar authors Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":[]},{"path":"https://pillar.r-lib.org/dev/articles/extending.html","id":"tweak-header","dir":"Articles","previous_headings":"Header","what":"Tweak header","title":"Custom formatting","text":"easiest customization consists tweaking header. Implement tbl_sum() method extend replace information shown header, keeping original formatting.","code":"tbl_sum.default_header_extend <- function(x, ...) { default_header <- NextMethod() c(default_header, \"New\" = \"A new header\") } example_tbl(\"default_header_extend\") #> # A data frame: 3 × 2 #> # New: A new header #> a b$c $d #> #> 1 a 1 4.5 #> 2 b 2 5.5 #> 3 c 3 6.5 tbl_sum.default_header_replace <- function(x, ...) { c(\"Override\" = \"Replace all headers\") } example_tbl(\"default_header_replace\") #> # Override: Replace all headers #> a b$c $d #> #> 1 a 1 4.5 #> 2 b 2 5.5 #> 3 c 3 6.5"},{"path":"https://pillar.r-lib.org/dev/articles/extending.html","id":"restyle-header","dir":"Articles","previous_headings":"Header","what":"Restyle header","title":"Custom formatting","text":"style header different way, implement tbl_format_header() method. implementation responsible entire formatting styling, including leading hash.","code":"tbl_format_header.custom_header_replace <- function(x, setup, ...) { cli::style_italic(names(setup$tbl_sum), \" = \", setup$tbl_sum) } example_tbl(\"custom_header_replace\") #> A data frame = 3 × 2 #> a b$c $d #> #> 1 a 1 4.5 #> 2 b 2 5.5 #> 3 c 3 6.5"},{"path":[]},{"path":"https://pillar.r-lib.org/dev/articles/extending.html","id":"restyle-footer","dir":"Articles","previous_headings":"Footer","what":"Restyle footer","title":"Custom formatting","text":"Similarly, add information footer, replace entirely, implement tbl_format_footer() method. , tbl_format_*() methods, can use information contained setup object, see ?new_tbl_format_setup available fields. , implementation responsible entire formatting styling, including leading hash needed.","code":"tbl_format_footer.custom_footer_extend <- function(x, setup, ...) { default_footer <- NextMethod() extra_info <- \"and with extra info in the footer\" extra_footer <- style_subtle(paste0(\"# \", cli::symbol$ellipsis, \" \", extra_info)) c(default_footer, extra_footer) } print(example_tbl(\"custom_footer_extend\"), n = 2) #> # A data frame: 3 × 2 #> a b$c $d #> #> 1 a 1 4.5 #> 2 b 2 5.5 #> # ℹ 1 more row #> # … and with extra info in the footer tbl_format_footer.custom_footer_replace <- function(x, setup, ...) { paste0(\"The table has \", setup$rows_total, \" rows in total.\") } print(example_tbl(\"custom_footer_replace\"), n = 2) #> # A data frame: 3 × 2 #> a b$c $d #> #> 1 a 1 4.5 #> 2 b 2 5.5 #> The table has 3 rows in total."},{"path":"https://pillar.r-lib.org/dev/articles/extending.html","id":"compute-additional-info-beforehand","dir":"Articles","previous_headings":"Footer","what":"Compute additional info beforehand","title":"Custom formatting","text":"information needs displayed several parts (e.g., header footer), useful compute tbl_format_setup() store setup object. New elements may added setup object, existing elements overwritten. Exception: tbl_sum element contains output tbl_sum() can enhanced additional elements.","code":"tbl_format_setup.extra_info <- function(x, width, ...) { setup <- NextMethod() cells <- prod(dim(x)) setup$cells <- cells setup$tbl_sum <- c(setup$tbl_sum, \"Cells\" = as.character(cells)) setup } tbl_format_footer.extra_info <- function(x, setup, ...) { paste0(\"The table has \", setup$cells, \" cells in total.\") } example_tbl(\"extra_info\") #> # A data frame: 3 × 2 #> # Cells: 6 #> a b$c $d #> #> 1 a 1 4.5 #> 2 b 2 5.5 #> 3 c 3 6.5 #> The table has 6 cells in total."},{"path":"https://pillar.r-lib.org/dev/articles/extending.html","id":"row-ids","dir":"Articles","previous_headings":"","what":"Row IDs","title":"Custom formatting","text":"implementing generic ctl_new_rowid_pillar(), printing row ID column can customized. order print Roman instead Arabic numerals, one use utils::.roman() generate corresponding sequence build row ID pillar using new_pillar() associated methods introduced previously.","code":"ctl_new_rowid_pillar.pillar_roman <- function(controller, x, width, ...) { out <- NextMethod() rowid <- utils::as.roman(seq_len(nrow(x))) width <- max(nchar(as.character(rowid))) new_pillar( list( title = out$title, type = out$type, data = pillar_component( new_pillar_shaft(list(row_ids = rowid), width = width, class = \"pillar_rif_shaft\" ) ) ), width = width ) } example_tbl(\"pillar_roman\") #> # A data frame: 3 × 2 #> a b$c $d #> #> I a 1 4.5 #> II b 2 5.5 #> III c 3 6.5"},{"path":[]},{"path":"https://pillar.r-lib.org/dev/articles/extending.html","id":"tweak-pillar-composition","dir":"Articles","previous_headings":"Body","what":"Tweak pillar composition","title":"Custom formatting","text":"Pillars consist components, see ?new_pillar_component details. Extend override ctl_new_pillar() method alter appearance. example adds table rules constant width output. make width adaptive, implement \"rule\" class format() method formats rules prespecified widths.","code":"ctl_new_pillar.pillar_rule <- function(controller, x, width, ..., title = NULL) { out <- NextMethod() new_pillar(list( top_rule = new_pillar_component(list(\"========\"), width = 8), title = out$title, type = out$type, mid_rule = new_pillar_component(list(\"--------\"), width = 8), data = out$data, bottom_rule = new_pillar_component(list(\"========\"), width = 8) )) } example_tbl(\"pillar_rule\") #> # A data frame: 3 × 2 #> ======== ======== ======== #> a b$c $d #> #> -------- -------- -------- #> 1 a 1 4.5 #> 2 b 2 5.5 #> 3 c 3 6.5 #> ======== ======== ======== rule <- function(char = \"-\") { stopifnot(nchar(char) == 1) structure(char, class = \"rule\") } format.rule <- function(x, width, ...) { paste(rep(x, width), collapse = \"\") } ctl_new_pillar.pillar_rule_adaptive <- function(controller, x, width, ..., title = NULL) { out <- NextMethod() if (is.null(out)) { return(NULL) } new_pillar(list( top_rule = new_pillar_component(list(rule(\"=\")), width = 1), title = out$title, type = out$type, mid_rule = new_pillar_component(list(rule(\"-\")), width = 1), data = out$data, bottom_rule = new_pillar_component(list(rule(\"=\")), width = 1) )) } example_tbl(\"pillar_rule_adaptive\") #> # A data frame: 3 × 2 #> = = = #> a b$c $d #> #> - - - #> 1 a 1 4.5 #> 2 b 2 5.5 #> 3 c 3 6.5 #> = = ="},{"path":"https://pillar.r-lib.org/dev/articles/extending.html","id":"tweak-display-of-compound-pillars","dir":"Articles","previous_headings":"Body","what":"Tweak display of compound pillars","title":"Custom formatting","text":"Compound pillars created ctl_new_pillar_list() columns contain data frame, matrix array. default implementation also calls ctl_new_pillar() shown . (somewhat artificial) example hides data frame columns column type \"\".","code":"ctl_new_pillar_list.hide_df <- function(controller, x, width, ..., title = NULL) { if (!is.data.frame(x)) { return(NextMethod()) } if (width < 8) { return(NULL) } list(new_pillar( list( title = pillar_component(new_pillar_title(title)), type = new_pillar_component(list(\"\"), width = 8), data = new_pillar_component(list(\"\"), width = 1) ), width = 8 )) } example_tbl(\"hide_df\") #> # A data frame: 3 × 2 #> #> #> 1 #> 2 #> 3 "},{"path":"https://pillar.r-lib.org/dev/articles/extending.html","id":"restyle-body","dir":"Articles","previous_headings":"Body","what":"Restyle body","title":"Custom formatting","text":"Last least, also possible completely alter display body overriding tbl_format_body(). example uses plain data frame output tibble. Note default printed output computed tbl_format_setup(), takes considerable amount time. really need change output entire body, consider providing tbl_format_setup() method.","code":"tbl_format_body.oldskool <- function(x, setup, ...) { capture.output(print.data.frame(setup$df)) } print(example_tbl(\"oldskool\"), n = 2) #> # A data frame: 3 × 2 #> a b.c b.d #> 1 a 1 4.5 #> 2 b 2 5.5 #> # ℹ 1 more row"},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"requirements","dir":"Articles","previous_headings":"","what":"Requirements","title":"Printing a tibble: Control and data flow","text":"Fit pre-specified width, distributing across multiple tiers necessary Optionally shrink stretch individual columns Header, body footer tibble Avoid recomputation information Custom components pillars tibble, top-aligned container, column vectors, determine appearance Customization entire output pillars Support data frame columns (packed data frames) matrix/array columns Pillars always shown left right, “holes” colonnade first column consumes available space, remaining columns shown, even fit first column omitted. Printing pillars take time proportional number characters printed, “fast enough”.","code":""},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"overview","dir":"Articles","previous_headings":"","what":"Overview","title":"Printing a tibble: Control and data flow","text":"overall control data flow illustrated diagram . Boxes functions methods. Solid lines function calls. Dotted lines represent information function obtains via argument (case options) queries actively. pillar package uses debugme debugging. Activating debugging pillar another way track control flow, see vignette(\"debugme\") details.","code":""},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"initialization","dir":"Articles","previous_headings":"","what":"Initialization","title":"Printing a tibble: Control and data flow","text":"tibble list columns class \"tbl_df\" \"tbl\". Printing designed work non-data-frame table-like objects lazy tables. print.tbl() method calls format() object prints output. format.tbl() method creates setup object, uses object format header, body footer. ’s possible extend override methods \"tbl\" subclass, often overriding specialized methods shown sufficient.","code":"tbl <- tibble::tibble(a = 1:3, b = tibble::tibble(c = 4:6, d = 7:9), e = 10:12) print(tbl, width = 23) #> # A tibble: 3 × 3 #> a b$c e #> #> 1 1 4 10 #> 2 2 5 11 #> 3 3 6 12 #> # ℹ 1 more variable: #> # b$d str(tbl) #> tibble [3 × 3] (S3: tbl_df/tbl/data.frame) #> $ a: int [1:3] 1 2 3 #> $ b: tibble [3 × 2] (S3: tbl_df/tbl/data.frame) #> ..$ c: int [1:3] 4 5 6 #> ..$ d: int [1:3] 7 8 9 #> $ e: int [1:3] 10 11 12 print.tbl <- function(x, width = NULL, ..., n = NULL, max_extra_cols = NULL, max_footer_lines = NULL) { print_tbl( x, width, ..., n = n, max_extra_cols = max_extra_cols, max_footer_lines = max_footer_lines ) } format.tbl <- function(x, width = NULL, ..., n = NULL, max_extra_cols = NULL, max_footer_lines = NULL) { format_tbl( x, width, ..., n = n, max_extra_cols = max_extra_cols, max_footer_lines = max_footer_lines ) }"},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"setup","dir":"Articles","previous_headings":"","what":"Setup","title":"Printing a tibble: Control and data flow","text":"work formatting actually happens tbl_format_setup(). desired output width baked setup object must available calling. Setup objects print like tibble clear separation header, body, footer. setup object required avoid computing information twice. instance, dimensions shown header extra columns displayed footer available body computed. generic dispatches container, can override necessary. responsible assigning default values arguments passing method. default implementation converts input data frame via .data.frame(head(x)), returns object constructed new_tbl_format_setup() contains data frame additional information. override method, e.g. incorporate information, can add new items default setup object, overwrite existing items. core, internal function ctl_colonnade() composes body. functionality customization points offers detailed “Colonnade” section .","code":"setup <- tbl_format_setup(tbl, width = 24) setup #> #> #> # A tibble: 3 × 3 #> #> a b$c e #> #> 1 1 4 10 #> 2 2 5 11 #> 3 3 6 12 #> #> # ℹ 1 more variable: #> # b$d tbl_format_setup <- function( x, width = NULL, ..., setup = list(tbl_sum = tbl_sum(x)), n = NULL, max_extra_cols = NULL, max_footer_lines = NULL, focus = NULL ) { \"!!!!DEBUG tbl_format_setup()\" width <- get_width_print(width) n <- get_n_print(n, tbl_nrow(x)) max_extra_cols <- get_max_extra_cols(max_extra_cols) max_footer_lines <- get_max_footer_lines(max_footer_lines) # Calls UseMethod(\"tbl_format_setup\"), # allows using default values in S3 dispatch out <- tbl_format_setup_dispatch( x, width, ..., setup = setup, n = n, max_extra_cols = max_extra_cols, max_footer_lines = max_footer_lines, focus = focus ) return(out) UseMethod(\"tbl_format_setup\") } tbl_format_setup.tbl <- function( x, width, ..., setup, n, max_extra_cols, max_footer_lines, focus ) { \"!!!!DEBUG tbl_format_setup.tbl()\" if (is.null(setup)) { # Header with early exit tbl_sum <- tbl_sum(x) return(new_tbl_format_setup(width, tbl_sum, rows_total = NA_integer_)) } else { tbl_sum <- setup$tbl_sum } # Number of rows rows <- tbl_nrow(x) lazy <- is.na(rows) if (lazy) { df <- as.data.frame(head(x, n + 1)) if (nrow(df) <= n) { rows <- nrow(df) } else { df <- vec_head(df, n) } } else { df <- df_head(x, n) } if (is.na(rows)) { # Lazy table with too many rows needs_dots <- (nrow(df) >= n) } else { # Lazy table with few rows, or regular data frame needs_dots <- (rows > n) } if (needs_dots) { rows_missing <- rows - n } else { rows_missing <- 0L } # Body rownames(df) <- NULL colonnade <- ctl_colonnade( df, has_row_id = if (!lazy && .row_names_info(x) > 0) \"*\" else TRUE, width = width, controller = x, focus = focus ) body <- colonnade$body # Extra columns extra_cols <- colonnade$extra_cols extra_cols_total <- length(extra_cols) if (extra_cols_total > max_extra_cols) { length(extra_cols) <- max_extra_cols } # Abbreviated columns abbrev_cols <- colonnade$abbrev_cols # Result new_tbl_format_setup( x = x, df = df, width = width, tbl_sum = tbl_sum, body = body, rows_missing = rows_missing, rows_total = rows, extra_cols = extra_cols, extra_cols_total = extra_cols_total, max_footer_lines = max_footer_lines, abbrev_cols = abbrev_cols ) }"},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"header-body-footer","dir":"Articles","previous_headings":"","what":"Header, body, footer","title":"Printing a tibble: Control and data flow","text":"components tibble formatted tbl_format_*() generics, also dispatch container allow extension overrides. return character vector, one element per line printed. setup object required. (body returned classed object print() method, still character() hood.) Since work already carried tbl_format_setup(), default implementations mostly consist code styles wraps output.","code":"tbl_format_header(tbl, setup) #> [1] \"\\033[38;5;246m# A tibble: 3 × 3\\033[39m\" tbl_format_body(tbl, setup) #> a b$c e #> #> 1 1 4 10 #> 2 2 5 11 #> 3 3 6 12 tbl_format_footer(tbl, setup) #> [1] \"\\033[38;5;246m# ℹ 1 more variable:\\033[39m\" #> [2] \"\\033[38;5;246m# b$d \\033[39m\" class(tbl_format_body(tbl, setup)) #> [1] \"glue\" \"character\" typeof(tbl_format_body(tbl, setup)) #> [1] \"character\" tbl_format_header.tbl <- function(x, setup, ...) { named_header <- setup$tbl_sum focus <- attr(x, \"pillar_focus\") if (!is.null(focus)) { named_header <- c(named_header, \"Focus columns\" = collapse(tick_if_needed(focus))) } if (all(names2(named_header) == \"\")) { header <- named_header } else { header <- paste0( align(paste0(names2(named_header), \":\"), space = NBSP), # We add a space after the NBSP inserted by align() # so that wrapping occurs at the right location for very narrow outputs \" \", named_header ) } style_subtle(format_comment(header, width = setup$width)) } tbl_format_body.tbl <- function(x, setup, ...) { force(setup) setup$body } tbl_format_footer.tbl <- function(x, setup, ...) { footer <- format_footer(x, setup) footer_comment <- wrap_footer_bullet(footer, setup) footer_advice <- format_footer_advice(x, setup) footer_advice_comment <- wrap_footer_bullet( footer_advice, setup, lines = 1, ellipsis = FALSE, bullet = symbol$info ) style_subtle(c(footer_comment, footer_advice_comment)) }"},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"colonnade","dir":"Articles","previous_headings":"","what":"Colonnade","title":"Printing a tibble: Control and data flow","text":"internal function ctl_colonnade() composes body. performs following tasks: Create pillar object every top-level column fits, using minimum width, via ctl_new_pillar_list(), ctl_new_pillar() ultimately pillar() pillar_shaft() Determine number tiers width tier Distribute pillars across tiers, assigning width pillar. Format pillar via format() function, passing now known width. Combine formatted pillars horizontally. Combine tiers vertically. Return formatted body, columns fit. following, first fourth steps discussed.","code":""},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"creating-pillar-objects","dir":"Articles","previous_headings":"","what":"Creating pillar objects","title":"Printing a tibble: Control and data flow","text":"initial tibble passed ctl_new_pillar_list(), eventually calls ctl_new_pillar() several times. top-level column, one pillar object constructed. loop terminated available width exhausted even considering minimum width.","code":""},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"pillar-lists","dir":"Articles","previous_headings":"Creating pillar objects","what":"Pillar lists","title":"Printing a tibble: Control and data flow","text":"ctl_new_pillar_list() generic dispatches container: tibble, column can data frame, matrix, even array , columns called compound columns. columns decomposed sub-pillars returned list pillars. Regular vectors forwarded ctl_new_pillar() returned list length one. Implementers \"tbl\" subclasses rarely ever need extend override method.","code":"ctl_new_pillar_list(tbl, tbl$a, width = 20) #> [[1]] #> #> #> 1 #> 2 #> 3 #> #> attr(,\"remaining_width\") #> [1] 14 #> attr(,\"simple\") #> [1] TRUE ctl_new_pillar_list(tbl, tbl$b, width = 20) #> [[1]] #> #> c #> #> 4 #> 5 #> 6 #> #> [[2]] #> #> d #> #> 7 #> 8 #> 9 #> #> attr(,\"extra\") #> character(0) #> attr(,\"remaining_width\") #> [1] 8 #> attr(,\"simple\") #> [1] FALSE ctl_new_pillar_list.tbl <- function(controller, x, width, ..., title = NULL, first_pillar = NULL) { \"!!!!DEBUG ctl_new_pillar_list.tbl(`v(width)`, `v(title)`)\" if (is.data.frame(x)) { new_data_frame_pillar_list(x, controller, width, title = title, first_pillar = first_pillar) } else if (is.matrix(x) && !inherits(x, c(\"Surv\", \"Surv2\"))) { new_matrix_pillar_list(x, controller, width, title = title, first_pillar = first_pillar) } else if (is.array(x) && length(dim(x)) > 2) { new_array_pillar_list(x, controller, width, title = title, first_pillar = first_pillar) } else { if (is.null(first_pillar)) { first_pillar <- ctl_new_pillar(controller, x, width, ..., title = prepare_title(title)) } new_single_pillar_list(first_pillar, width) } }"},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"simple-pillars","dir":"Articles","previous_headings":"Creating pillar objects","what":"Simple pillars","title":"Printing a tibble: Control and data flow","text":"ctl_new_pillar() method called columns data frames arrays, also dispatches container. default method calls pillar() directly, passing maximum width available. Formatting title type provided new_pillar_title() new_pillar_type(). body can customized implementing pillar_shaft() vector class, see vignette(\"pillar\", package = \"vctrs\") details. title type don’t fit available width, pillar_shaft() never called. function now returns NULL width insufficient contain data. possible change appearance pillars overriding extending ctl_new_pillar().","code":"ctl_new_pillar(tbl, tbl$a, width = 20) #> #> #> 1 #> 2 #> 3 ctl_new_pillar.tbl <- function(controller, x, width, ..., title = NULL) { \"!!!!DEBUG ctl_new_pillar.tbl(`v(width)`, `v(title)`)\" pillar(x, title, if (!is.null(width)) max0(width)) } pillar <- function(x, title = NULL, width = NULL, ...) { \"!!!!DEBUG pillar(`v(class(x))`, `v(title)`, `v(width)`)\" pillar_from_shaft( new_pillar_title(title), new_pillar_type(x), pillar_shaft(x, ...), width ) }"},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"components","dir":"Articles","previous_headings":"Creating pillar objects","what":"Components","title":"Printing a tibble: Control and data flow","text":"Pillar objects share structure ultimately constructed new_pillar(). pillar stored list components. pillar represents one simple (atomic) column, compound columns always represented multiple pillar objects.","code":"new_pillar <- function(components, ..., width = NULL, class = NULL, extra = deprecated()) { \"!!!!DEBUG new_pillar(`v(width)`, `v(class)`)\" if (is_present(extra)) { # Signal the deprecation to the user deprecate_warn(\"1.7.0\", \"pillar::new_pillar(extra = )\") } check_dots_empty() if (length(components) > 0 && !is_named(components)) { abort(\"All components must have names.\") } structure( components, width = width, class = c(class, \"pillar\") ) }"},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"formatting-pillars","dir":"Articles","previous_headings":"","what":"Formatting pillars","title":"Printing a tibble: Control and data flow","text":"pillar object constructed, minimum desired (maximum) width. depends number width pillar objects may even constructed, final width known yet. passed format(), uses desired width empty:","code":"format.pillar <- function(x, width = NULL, ...) { if (is.null(width)) { width <- get_width(x) } if (is.null(width)) { width <- pillar_get_width(x) } as_glue(pillar_format_parts_2(x, width)$aligned) }"},{"path":"https://pillar.r-lib.org/dev/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Kirill Müller. Author, maintainer. Hadley Wickham. Author. . Copyright holder.","code":""},{"path":"https://pillar.r-lib.org/dev/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Müller K, Wickham H (2024). pillar: Coloured Formatting Columns. R package version 1.9.99.9900, https://github.com/r-lib/pillar, https://pillar.r-lib.org/.","code":"@Manual{, title = {pillar: Coloured Formatting for Columns}, author = {Kirill Müller and Hadley Wickham}, year = {2024}, note = {R package version 1.9.99.9900, https://github.com/r-lib/pillar}, url = {https://pillar.r-lib.org/}, }"},{"path":"https://pillar.r-lib.org/dev/index.html","id":"pillar","dir":"","previous_headings":"","what":"Coloured Formatting for Columns","title":"Coloured Formatting for Columns","text":"pillar provides tools styling columns data, artfully using colour unicode characters guide eye.","code":""},{"path":"https://pillar.r-lib.org/dev/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Coloured Formatting for Columns","text":"","code":"# pillar is installed if you install the tidyverse package: install.packages(\"tidyverse\") # Alternatively, install just pillar: install.packages(\"pillar\")"},{"path":"https://pillar.r-lib.org/dev/index.html","id":"usage","dir":"","previous_headings":"","what":"Usage","title":"Coloured Formatting for Columns","text":"pillar developer-facing package designed end-users. powers print() format() methods tibbles. also defines generics helpers useful package authors create custom vector classes (see https://github.com/krlmlr/awesome-vctrs#readme examples) custom table classes (like dbplyr sf).","code":"library(pillar) x <- 123456789 * (10^c(-3, -5, NA, -8, -10)) pillar(x) #> #> #> 123457. #> 1235. #> NA #> 1.23 #> 0.0123 tbl_format_setup(tibble::tibble(x)) #> #> #> # A tibble: 5 × 1 #> #> x #> #> 1 123457. #> 2 1235. #> 3 NA #> 4 1.23 #> 5 0.0123 #> "},{"path":"https://pillar.r-lib.org/dev/index.html","id":"custom-vector-classes","dir":"","previous_headings":"","what":"Custom vector classes","title":"Coloured Formatting for Columns","text":"primary user package tibble, lets pillar formatting work. Packages implement data type used tibble column can customize display implementing pillar_shaft() method. See vignette(\"pillar\", package = \"vctrs\") details.","code":"library(pillar) percent <- vctrs::new_vctr(9:11 * 0.01, class = \"percent\") pillar_shaft.percent <- function(x, ...) { fmt <- format(vctrs::vec_data(x) * 100) new_pillar_shaft_simple(paste0(fmt, \" \", style_subtle(\"%\")), align = \"right\") } pillar(percent) #> #> #> 9 % #> 10 % #> 11 %"},{"path":"https://pillar.r-lib.org/dev/index.html","id":"custom-table-classes","dir":"","previous_headings":"","what":"Custom table classes","title":"Coloured Formatting for Columns","text":"pillar provides various extension points customizing tibble-like class printed. See vignette(\"extending\", package = \"pillar\") walkthrough options.","code":"tbl <- vctrs::new_data_frame(list(a = 1:3), class = c(\"my_tbl\", \"tbl\")) tbl_sum.my_tbl <- function(x, ...) { c(\"Hello\" = \"world!\") } tbl #> # Hello: world! #> a #> #> 1 1 #> 2 2 #> 3 3"},{"path":"https://pillar.r-lib.org/dev/index.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Coloured Formatting for Columns","text":"Please note pillar project released Contributor Code Conduct. contributing project, agree abide terms.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/align.html","id":null,"dir":"Reference","previous_headings":"","what":"Alignment helper — align","title":"Alignment helper — align","text":"Facilitates easy alignment strings within character vector. Designed help implementers formatters custom data types.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/align.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Alignment helper — align","text":"","code":"align(x, width = NULL, align = c(\"left\", \"right\"), space = \" \")"},{"path":"https://pillar.r-lib.org/dev/reference/align.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Alignment helper — align","text":"x character vector width width string padded . NULL, maximum display width character vector used (see get_max_extent()). align strings aligned? align = left padding appears right, vice versa. space character used padding?","code":""},{"path":"https://pillar.r-lib.org/dev/reference/align.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Alignment helper — align","text":"","code":"align(c(\"abc\", \"de\"), align = \"left\") #> [1] \"abc\" \"de \" align(c(\"abc\", \"de\"), align = \"right\") #> [1] \"abc\" \" de\""},{"path":"https://pillar.r-lib.org/dev/reference/char.html","id":null,"dir":"Reference","previous_headings":"","what":"Format a character vector in a tibble — char","title":"Format a character vector in a tibble — char","text":"functions reexported tibble::char() tibble::set_char_opts().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/char.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format a character vector in a tibble — char","text":"","code":"char( x, ..., min_chars = NULL, shorten = c(\"back\", \"front\", \"mid\", \"abbreviate\") ) set_char_opts( x, ..., min_chars = NULL, shorten = c(\"back\", \"front\", \"mid\", \"abbreviate\") )"},{"path":"https://pillar.r-lib.org/dev/reference/colonnade.html","id":null,"dir":"Reference","previous_headings":"","what":"Format multiple vectors in a tabular display — colonnade","title":"Format multiple vectors in a tabular display — colonnade","text":"vectors formatted fit horizontally user-supplied number characters per row. colonnade() function process input returns object format() print() method. implementations call squeeze() create pillar objects fit given width.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/colonnade.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format multiple vectors in a tabular display — colonnade","text":"","code":"colonnade(x, has_row_id = TRUE, width = NULL, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/colonnade.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format multiple vectors in a tabular display — colonnade","text":"x list, can contain matrices data frames. named, names used title pillars. Non-syntactic names escaped. has_row_id Include column indicating row IDs? Pass \"*\" mark row ID column star. width Default width entire output, optional. ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/colonnade.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Format multiple vectors in a tabular display — colonnade","text":"Pillars may distributed multiple tiers width > getOption(\"width\"). case tier getOption(\"width\") characters wide. first step formatting determine many tiers shown , width tier. avoid unnecessary computation showing wide colonnades, first pass tries fit capitals tiers. pillar whose capital fits, decided tier shown, , much horizontal space may use (either minimum maximum width). Remaining space distributed proportionally pillars use desired width. fitting pillars one tiers, first check made pillars fit maximum width (e.g., option(tibble.width = Inf) narrow colonnade). yes, resulting fit, work needs done. Otherwise, maximum width wide, test carried minimum width. still wide, resulting fit. Otherwise, tiers start contain pillars maximum width, one tier contain pillars maximum minimum width, remaining tiers contain pillars minimum width . , compute \"reverse minimum assignment\". determine cut point minimum maximum assignment agree. following strategy applied: First, determine tier cut point lies. first instance column ends tier minimum maximum assignment. set candidate cut points derived. consult column offsets. last column minimum assignment greater equal offset maximum assignment latest cut point. column exists, cut point column just first candidate. Finally, combine maximum minimum reverse fits cut point. need redistribute anything . Fitting pillars tiers similar word-wrapping algorithm. loop, new tiers opened current tier overflows. column wide fit single tier, never displayed, colonnade truncated . case never occur reasonable display widths larger 30 characters. Truncation also happens available tiers filled. remaining space distributed left right. column gains space proportional fraction missing remaining space, rounded . space remaining rounding distributed left right, one space per column.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar.html","id":null,"dir":"Reference","previous_headings":"","what":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","title":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","text":"Gain full control appearance pillars tibble subclass body. method intended implementers subclasses \"tbl\" class. Users rarely need .","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","text":"","code":"ctl_new_pillar(controller, x, width, ..., title = NULL) ctl_new_rowid_pillar(controller, x, width, ..., title = NULL, type = NULL)"},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","text":"controller object class \"tbl\" currently printed. x simple (one-dimensional) vector. width available width, can vector multiple tiers. ... dots future extensions must empty. title title, derived name column data. type String specifying row ID type. Current values use NULL \"*\".","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","text":"ctl_new_pillar() called construct pillars regular (one-dimensional) vectors. default implementation returns object constructed pillar(). Extend method modify pillar components returned default implementation. Override method completely change appearance pillars. Components created new_pillar_component() pillar_component(). order customize printing row IDs, method can supplied ctl_new_rowid_pillar() generic. components must height. restriction may levied future. Implementations return NULL none data fits available width.","code":""},{"path":[]},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","text":"","code":"# Create pillar objects ctl_new_pillar( palmerpenguins::penguins, palmerpenguins::penguins$species[1:3], width = 60 ) #> #> #> Adelie #> Adelie #> Adelie ctl_new_pillar( palmerpenguins::penguins, palmerpenguins::penguins$bill_length_mm[1:3], width = 60 ) #> #> #> 39.1 #> 39.5 #> 40.3 # Customize output lines <- function(char = \"-\") { stopifnot(nchar(char) == 1) structure(char, class = \"lines\") } format.lines <- function(x, width, ...) { paste(rep(x, width), collapse = \"\") } ctl_new_pillar.line_tbl <- function(controller, x, width, ...) { out <- NextMethod() new_pillar(list( title = out$title, type = out$type, lines = new_pillar_component(list(lines(\"=\")), width = 1), data = out$data )) } ctl_new_rowid_pillar.line_tbl <- function(controller, x, width, ...) { out <- NextMethod() new_pillar( list( title = out$title, type = out$type, lines = new_pillar_component(list(lines(\"=\")), width = 1), data = out$data ), width = as.integer(floor(log10(max(nrow(x), 1))) + 1) ) } vctrs::new_data_frame( list(a = 1:3, b = letters[1:3]), class = c(\"line_tbl\", \"tbl\") ) #> # A data frame: 3 × 2 #> a b #> #> 1 1 a #> 2 2 b #> 3 3 c ctl_new_rowid_pillar.roman_tbl <- function(controller, x, width, ...) { out <- NextMethod() rowid <- utils::as.roman(seq_len(nrow(x))) width <- max(nchar(as.character(rowid))) new_pillar( list( title = out$title, type = out$type, data = pillar_component( new_pillar_shaft(list(row_ids = rowid), width = width, class = \"pillar_rif_shaft\" ) ) ), width = width ) } vctrs::new_data_frame( list(a = 1:3, b = letters[1:3]), class = c(\"roman_tbl\", \"tbl\") ) #> # A data frame: 3 × 2 #> a b #> #> 1 1 a #> 2 2 b #> 3 3 c"},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar_list.html","id":null,"dir":"Reference","previous_headings":"","what":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","title":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","text":"Gain full control appearance pillars tibble subclass body. method intended implementers subclasses \"tbl\" class. Users rarely need , also expect default implementation sufficient vast majority cases.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar_list.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","text":"","code":"ctl_new_pillar_list( controller, x, width, ..., title = NULL, first_pillar = NULL )"},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar_list.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","text":"controller object class \"tbl\" currently printed. x vector, can also data frame, matrix, array. width available width, can vector multiple tiers. NULL, first pillar instantiated. ... dots future extensions must empty. title title, derived name column data. first_pillar Can passed method first pillar compound pillar (pillar simple pillar) constructed already.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar_list.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","text":"ctl_new_pillar_list() called construct list pillars. x regular (one-dimensional) vector, list contains one pillar constructed ctl_new_pillar(). method also works compound columns: columns data frames, matrices arrays, following behavior: width NULL, method always returns list length one containing one pillar object represents first sub-column compound column. Otherwise, returned list contains one pillar object sub-columns can fit available horizontal space. pillar objects obtained calling ctl_new_pillar_list() width = NULL sub-column available width exhausted. method called initiate construction pillars tibble printed. ensure packed columns fit available space printed, ctl_new_pillar_list() may called twice input: width = NULL, width corresponding known available space first_pillar set pillar object constructed first call.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar_list.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","text":"","code":"# Simple column ctl_new_pillar_list( tibble::tibble(), palmerpenguins::penguins$weight[1:3], width = 10 ) #> Warning: Unknown or uninitialised column: `weight`. #> [[1]] #> #> #> NULL #> #> attr(,\"remaining_width\") #> [1] 4 #> attr(,\"simple\") #> [1] TRUE # Packed data frame: unknown width ctl_new_pillar_list( tibble::tibble(), palmerpenguins::penguins[1:3, ], width = NULL ) #> [[1]] #> #> species #> #> Adelie #> Adelie #> Adelie #> # Packed data frame: known width ctl_new_pillar_list( tibble::tibble(), palmerpenguins::penguins, width = 60 ) #> [[1]] #> #> species #> #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> #> [[2]] #> #> island #> #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> #> [[3]] #> #> bill_length_mm #> #> 39.1 #> 39.5 #> 40.3 #> NA #> 36.7 #> 39.3 #> 38.9 #> 39.2 #> 34.1 #> 42 #> 37.8 #> 37.8 #> 41.1 #> 38.6 #> 34.6 #> 36.6 #> 38.7 #> 42.5 #> 34.4 #> 46 #> 37.8 #> 37.7 #> 35.9 #> 38.2 #> 38.8 #> 35.3 #> 40.6 #> 40.5 #> 37.9 #> 40.5 #> 39.5 #> 37.2 #> 39.5 #> 40.9 #> 36.4 #> 39.2 #> 38.8 #> 42.2 #> 37.6 #> 39.8 #> 36.5 #> 40.8 #> 36 #> 44.1 #> 37 #> 39.6 #> 41.1 #> 37.5 #> 36 #> 42.3 #> 39.6 #> 40.1 #> 35 #> 42 #> 34.5 #> 41.4 #> 39 #> 40.6 #> 36.5 #> 37.6 #> 35.7 #> 41.3 #> 37.6 #> 41.1 #> 36.4 #> 41.6 #> 35.5 #> 41.1 #> 35.9 #> 41.8 #> 33.5 #> 39.7 #> 39.6 #> 45.8 #> 35.5 #> 42.8 #> 40.9 #> 37.2 #> 36.2 #> 42.1 #> 34.6 #> 42.9 #> 36.7 #> 35.1 #> 37.3 #> 41.3 #> 36.3 #> 36.9 #> 38.3 #> 38.9 #> 35.7 #> 41.1 #> 34 #> 39.6 #> 36.2 #> 40.8 #> 38.1 #> 40.3 #> 33.1 #> 43.2 #> 35 #> 41 #> 37.7 #> 37.8 #> 37.9 #> 39.7 #> 38.6 #> 38.2 #> 38.1 #> 43.2 #> 38.1 #> 45.6 #> 39.7 #> 42.2 #> 39.6 #> 42.7 #> 38.6 #> 37.3 #> 35.7 #> 41.1 #> 36.2 #> 37.7 #> 40.2 #> 41.4 #> 35.2 #> 40.6 #> 38.8 #> 41.5 #> 39 #> 44.1 #> 38.5 #> 43.1 #> 36.8 #> 37.5 #> 38.1 #> 41.1 #> 35.6 #> 40.2 #> 37 #> 39.7 #> 40.2 #> 40.6 #> 32.1 #> 40.7 #> 37.3 #> 39 #> 39.2 #> 36.6 #> 36 #> 37.8 #> 36 #> 41.5 #> 46.1 #> 50 #> 48.7 #> 50 #> 47.6 #> 46.5 #> 45.4 #> 46.7 #> 43.3 #> 46.8 #> 40.9 #> 49 #> 45.5 #> 48.4 #> 45.8 #> 49.3 #> 42 #> 49.2 #> 46.2 #> 48.7 #> 50.2 #> 45.1 #> 46.5 #> 46.3 #> 42.9 #> 46.1 #> 44.5 #> 47.8 #> 48.2 #> 50 #> 47.3 #> 42.8 #> 45.1 #> 59.6 #> 49.1 #> 48.4 #> 42.6 #> 44.4 #> 44 #> 48.7 #> 42.7 #> 49.6 #> 45.3 #> 49.6 #> 50.5 #> 43.6 #> 45.5 #> 50.5 #> 44.9 #> 45.2 #> 46.6 #> 48.5 #> 45.1 #> 50.1 #> 46.5 #> 45 #> 43.8 #> 45.5 #> 43.2 #> 50.4 #> 45.3 #> 46.2 #> 45.7 #> 54.3 #> 45.8 #> 49.8 #> 46.2 #> 49.5 #> 43.5 #> 50.7 #> 47.7 #> 46.4 #> 48.2 #> 46.5 #> 46.4 #> 48.6 #> 47.5 #> 51.1 #> 45.2 #> 45.2 #> 49.1 #> 52.5 #> 47.4 #> 50 #> 44.9 #> 50.8 #> 43.4 #> 51.3 #> 47.5 #> 52.1 #> 47.5 #> 52.2 #> 45.5 #> 49.5 #> 44.5 #> 50.8 #> 49.4 #> 46.9 #> 48.4 #> 51.1 #> 48.5 #> 55.9 #> 47.2 #> 49.1 #> 47.3 #> 46.8 #> 41.7 #> 53.4 #> 43.3 #> 48.1 #> 50.5 #> 49.8 #> 43.5 #> 51.5 #> 46.2 #> 55.1 #> 44.5 #> 48.8 #> 47.2 #> NA #> 46.8 #> 50.4 #> 45.2 #> 49.9 #> 46.5 #> 50 #> 51.3 #> 45.4 #> 52.7 #> 45.2 #> 46.1 #> 51.3 #> 46 #> 51.3 #> 46.6 #> 51.7 #> 47 #> 52 #> 45.9 #> 50.5 #> 50.3 #> 58 #> 46.4 #> 49.2 #> 42.4 #> 48.5 #> 43.2 #> 50.6 #> 46.7 #> 52 #> 50.5 #> 49.5 #> 46.4 #> 52.8 #> 40.9 #> 54.2 #> 42.5 #> 51 #> 49.7 #> 47.5 #> 47.6 #> 52 #> 46.9 #> 53.5 #> 49 #> 46.2 #> 50.9 #> 45.5 #> 50.9 #> 50.8 #> 50.1 #> 49 #> 51.5 #> 49.8 #> 48.1 #> 51.4 #> 45.7 #> 50.7 #> 42.5 #> 52.2 #> 45.2 #> 49.3 #> 50.2 #> 45.6 #> 51.9 #> 46.8 #> 45.7 #> 55.8 #> 43.5 #> 49.6 #> 50.8 #> 50.2 #> #> [[4]] #> #> bill_depth_mm #> #> 18.7 #> 17.4 #> 18 #> NA #> 19.3 #> 20.6 #> 17.8 #> 19.6 #> 18.1 #> 20.2 #> 17.1 #> 17.3 #> 17.6 #> 21.2 #> 21.1 #> 17.8 #> 19 #> 20.7 #> 18.4 #> 21.5 #> 18.3 #> 18.7 #> 19.2 #> 18.1 #> 17.2 #> 18.9 #> 18.6 #> 17.9 #> 18.6 #> 18.9 #> 16.7 #> 18.1 #> 17.8 #> 18.9 #> 17 #> 21.1 #> 20 #> 18.5 #> 19.3 #> 19.1 #> 18 #> 18.4 #> 18.5 #> 19.7 #> 16.9 #> 18.8 #> 19 #> 18.9 #> 17.9 #> 21.2 #> 17.7 #> 18.9 #> 17.9 #> 19.5 #> 18.1 #> 18.6 #> 17.5 #> 18.8 #> 16.6 #> 19.1 #> 16.9 #> 21.1 #> 17 #> 18.2 #> 17.1 #> 18 #> 16.2 #> 19.1 #> 16.6 #> 19.4 #> 19 #> 18.4 #> 17.2 #> 18.9 #> 17.5 #> 18.5 #> 16.8 #> 19.4 #> 16.1 #> 19.1 #> 17.2 #> 17.6 #> 18.8 #> 19.4 #> 17.8 #> 20.3 #> 19.5 #> 18.6 #> 19.2 #> 18.8 #> 18 #> 18.1 #> 17.1 #> 18.1 #> 17.3 #> 18.9 #> 18.6 #> 18.5 #> 16.1 #> 18.5 #> 17.9 #> 20 #> 16 #> 20 #> 18.6 #> 18.9 #> 17.2 #> 20 #> 17 #> 19 #> 16.5 #> 20.3 #> 17.7 #> 19.5 #> 20.7 #> 18.3 #> 17 #> 20.5 #> 17 #> 18.6 #> 17.2 #> 19.8 #> 17 #> 18.5 #> 15.9 #> 19 #> 17.6 #> 18.3 #> 17.1 #> 18 #> 17.9 #> 19.2 #> 18.5 #> 18.5 #> 17.6 #> 17.5 #> 17.5 #> 20.1 #> 16.5 #> 17.9 #> 17.1 #> 17.2 #> 15.5 #> 17 #> 16.8 #> 18.7 #> 18.6 #> 18.4 #> 17.8 #> 18.1 #> 17.1 #> 18.5 #> 13.2 #> 16.3 #> 14.1 #> 15.2 #> 14.5 #> 13.5 #> 14.6 #> 15.3 #> 13.4 #> 15.4 #> 13.7 #> 16.1 #> 13.7 #> 14.6 #> 14.6 #> 15.7 #> 13.5 #> 15.2 #> 14.5 #> 15.1 #> 14.3 #> 14.5 #> 14.5 #> 15.8 #> 13.1 #> 15.1 #> 14.3 #> 15 #> 14.3 #> 15.3 #> 15.3 #> 14.2 #> 14.5 #> 17 #> 14.8 #> 16.3 #> 13.7 #> 17.3 #> 13.6 #> 15.7 #> 13.7 #> 16 #> 13.7 #> 15 #> 15.9 #> 13.9 #> 13.9 #> 15.9 #> 13.3 #> 15.8 #> 14.2 #> 14.1 #> 14.4 #> 15 #> 14.4 #> 15.4 #> 13.9 #> 15 #> 14.5 #> 15.3 #> 13.8 #> 14.9 #> 13.9 #> 15.7 #> 14.2 #> 16.8 #> 14.4 #> 16.2 #> 14.2 #> 15 #> 15 #> 15.6 #> 15.6 #> 14.8 #> 15 #> 16 #> 14.2 #> 16.3 #> 13.8 #> 16.4 #> 14.5 #> 15.6 #> 14.6 #> 15.9 #> 13.8 #> 17.3 #> 14.4 #> 14.2 #> 14 #> 17 #> 15 #> 17.1 #> 14.5 #> 16.1 #> 14.7 #> 15.7 #> 15.8 #> 14.6 #> 14.4 #> 16.5 #> 15 #> 17 #> 15.5 #> 15 #> 13.8 #> 16.1 #> 14.7 #> 15.8 #> 14 #> 15.1 #> 15.2 #> 15.9 #> 15.2 #> 16.3 #> 14.1 #> 16 #> 15.7 #> 16.2 #> 13.7 #> NA #> 14.3 #> 15.7 #> 14.8 #> 16.1 #> 17.9 #> 19.5 #> 19.2 #> 18.7 #> 19.8 #> 17.8 #> 18.2 #> 18.2 #> 18.9 #> 19.9 #> 17.8 #> 20.3 #> 17.3 #> 18.1 #> 17.1 #> 19.6 #> 20 #> 17.8 #> 18.6 #> 18.2 #> 17.3 #> 17.5 #> 16.6 #> 19.4 #> 17.9 #> 19 #> 18.4 #> 19 #> 17.8 #> 20 #> 16.6 #> 20.8 #> 16.7 #> 18.8 #> 18.6 #> 16.8 #> 18.3 #> 20.7 #> 16.6 #> 19.9 #> 19.5 #> 17.5 #> 19.1 #> 17 #> 17.9 #> 18.5 #> 17.9 #> 19.6 #> 18.7 #> 17.3 #> 16.4 #> 19 #> 17.3 #> 19.7 #> 17.3 #> 18.8 #> 16.6 #> 19.9 #> 18.8 #> 19.4 #> 19.5 #> 16.5 #> 17 #> 19.8 #> 18.1 #> 18.2 #> 19 #> 18.7 #> #> attr(,\"extra\") #> [1] \"flipper_length_mm\" \"body_mass_g\" \"sex\" #> [4] \"year\" #> attr(,\"remaining_width\") #> [1] 16 #> attr(,\"simple\") #> [1] FALSE # Deeply packed data frame with known width: # showing only the first sub-column even if the width is sufficient ctl_new_pillar_list( tibble::tibble(), tibble::tibble(x = tibble::tibble(b = 1, c = 2), y = 3), width = 60 ) #> [[1]] #> #> x$b #> #> 1 #> #> [[2]] #> #> y #> #> 3 #> #> attr(,\"extra\") #> character(0) #> attr(,\"remaining_width\") #> [1] 48 #> attr(,\"simple\") #> [1] FALSE # Packed matrix: unknown width ctl_new_pillar_list(tibble::tibble(), matrix(1:6, ncol = 2), width = NULL) #> [[1]] #> #> [,1] #> #> 1 #> 2 #> 3 #> # Packed matrix: known width ctl_new_pillar_list(tibble::tibble(), matrix(1:6, ncol = 2), width = 60) #> [[1]] #> #> [,1] #> #> 1 #> 2 #> 3 #> #> [[2]] #> #> [,2] #> #> 4 #> 5 #> 6 #> #> attr(,\"extra\") #> integer(0) #> attr(,\"remaining_width\") #> [1] 48 #> attr(,\"simple\") #> [1] FALSE # Packed array ctl_new_pillar_list(tibble::tibble(), Titanic, width = 60) #> [[1]] #> #> #> 0 … #> 0 … #> 35 … #> 0 … #> #> attr(,\"remaining_width\") #> [1] 54 #> attr(,\"simple\") #> [1] TRUE"},{"path":"https://pillar.r-lib.org/dev/reference/deprecated.html","id":null,"dir":"Reference","previous_headings":"","what":"Deprecated functions — deprecated","title":"Deprecated functions — deprecated","text":"Use vctrs::vec_is() instead is_vector_s3(). Use testthat::expect_snapshot() instead expect_known_display().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/deprecated.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Deprecated functions — deprecated","text":"","code":"is_vector_s3(x) expect_known_display(object, file, ..., width = 80L, crayon = TRUE)"},{"path":"https://pillar.r-lib.org/dev/reference/deprecated.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Deprecated functions — deprecated","text":"object object check. file File path known value/output stored. ... Unused. width width output. crayon Color output?","code":""},{"path":"https://pillar.r-lib.org/dev/reference/dim_desc.html","id":null,"dir":"Reference","previous_headings":"","what":"Format dimensions — dim_desc","title":"Format dimensions — dim_desc","text":"Multi-dimensional objects formatted x b x ..., vectors length returned.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/dim_desc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format dimensions — dim_desc","text":"","code":"dim_desc(x)"},{"path":"https://pillar.r-lib.org/dev/reference/dim_desc.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format dimensions — dim_desc","text":"x object format dimensions ","code":""},{"path":"https://pillar.r-lib.org/dev/reference/dim_desc.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format dimensions — dim_desc","text":"","code":"dim_desc(1:10) #> [1] \"10\" dim_desc(Titanic) #> [1] \"4 × 2 × 2 × 2\""},{"path":"https://pillar.r-lib.org/dev/reference/extra_cols.html","id":null,"dir":"Reference","previous_headings":"","what":"Retrieve information about columns that didn't fit the available width — extra_cols","title":"Retrieve information about columns that didn't fit the available width — extra_cols","text":"Formatting colonnade object may lead columns omitted due width restrictions. method returns character vector describes omitted columns.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/extra_cols.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Retrieve information about columns that didn't fit the available width — extra_cols","text":"","code":"extra_cols(x, ...) # S3 method for class 'pillar_squeezed_colonnade' extra_cols(x, ..., n = Inf)"},{"path":"https://pillar.r-lib.org/dev/reference/extra_cols.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Retrieve information about columns that didn't fit the available width — extra_cols","text":"x result squeeze() colonnade object ... Arguments passed methods. n number extra columns return; returned vector always contain many elements extra columns, elements beyond n NA.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_glimpse.html","id":null,"dir":"Reference","previous_headings":"","what":"Format a vector for horizontal printing — format_glimpse","title":"Format a vector for horizontal printing — format_glimpse","text":"generic provides logic printing vectors glimpse(). output strives unambiguous possible, without compromising readability. list, distinguish vectors nested lists, latter surrounded [] brackets. Empty lists shown []. Vectors inside lists, length equal one, surrounded <> angle brackets. Empty vectors shown <>.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_glimpse.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format a vector for horizontal printing — format_glimpse","text":"","code":"format_glimpse(x, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/format_glimpse.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format a vector for horizontal printing — format_glimpse","text":"x vector. ... Arguments passed methods.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_glimpse.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Format a vector for horizontal printing — format_glimpse","text":"character vector length x.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_glimpse.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format a vector for horizontal printing — format_glimpse","text":"","code":"format_glimpse(1:3) #> [1] \"1\" \"2\" \"3\" # Lists use [], vectors inside lists use <> format_glimpse(list(1:3)) #> [1] \"<1, 2, 3>\" format_glimpse(list(1, 2:3)) #> [1] \"1\" \"<2, 3>\" format_glimpse(list(list(1), list(2:3))) #> [1] \"[1]\" \"[<2, 3>]\" format_glimpse(list(as.list(1), as.list(2:3))) #> [1] \"[1]\" \"[2, 3]\" format_glimpse(list(character())) #> [1] \"<>\" format_glimpse(list(NULL)) #> [1] \"\" # Character strings are always quoted writeLines(format_glimpse(letters[1:3])) #> \"a\" #> \"b\" #> \"c\" writeLines(format_glimpse(c(\"A\", \"B, C\"))) #> \"A\" #> \"B, C\" # Factors are quoted only when needed writeLines(format_glimpse(factor(letters[1:3]))) #> a #> b #> c writeLines(format_glimpse(factor(c(\"A\", \"B, C\")))) #> \"A\" #> \"B, C\""},{"path":"https://pillar.r-lib.org/dev/reference/format_tbl.html","id":null,"dir":"Reference","previous_headings":"","what":"Formatting of tbl objects — format_tbl","title":"Formatting of tbl objects — format_tbl","text":"See tibble::formatting details.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_tbl.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Formatting of tbl objects — format_tbl","text":"","code":"# S3 method for class 'tbl' print( x, width = NULL, ..., n = NULL, max_extra_cols = NULL, max_footer_lines = NULL ) # S3 method for class 'tbl' format( x, width = NULL, ..., n = NULL, max_extra_cols = NULL, max_footer_lines = NULL )"},{"path":"https://pillar.r-lib.org/dev/reference/format_type_sum.html","id":null,"dir":"Reference","previous_headings":"","what":"Format a type summary — format_type_sum","title":"Format a type summary — format_type_sum","text":"Called values returned type_sum() defining description capital.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_type_sum.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format a type summary — format_type_sum","text":"","code":"format_type_sum(x, width, ...) # Default S3 method format_type_sum(x, width, ...) # S3 method for class 'AsIs' format_type_sum(x, width, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/format_type_sum.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format a type summary — format_type_sum","text":"x return value type_sum() width desired total width. returned string still wider, trimmed. Can NULL. ... Arguments passed methods.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_type_sum.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Format a type summary — format_type_sum","text":"Two methods implemented default generic: default method, method \"AsIs\" class. Return (\"type\") type_sum() implementation format type without angle brackets. even control formatting, implement method.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_type_sum.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format a type summary — format_type_sum","text":"","code":"# Default method: show the type with angle brackets format_type_sum(1, NULL) #> [1] \"\\033[3m\\033[38;5;246m<1>\\033[39m\\033[23m\" pillar(1) #> #> #> 1 # AsIs method: show the type without angle brackets type_sum.accel <- function(x) { I(\"kg m/s^2\") } accel <- structure(9.81, class = \"accel\") pillar(accel) #> #> #> 9.81"},{"path":"https://pillar.r-lib.org/dev/reference/get_extent.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate display width — get_extent","title":"Calculate display width — get_extent","text":"get_extent() calculates display width string character vector. get_max_extent() calculates maximum display width strings character vector, zero empty vectors.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/get_extent.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate display width — get_extent","text":"","code":"get_extent(x) get_max_extent(x)"},{"path":"https://pillar.r-lib.org/dev/reference/get_extent.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate display width — get_extent","text":"x character vector.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/get_extent.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate display width — get_extent","text":"","code":"get_extent(c(\"abc\", \"de\")) #> [1] 3 2 get_extent(\"\\u904b\\u6c23\") #> [1] 4 get_max_extent(c(\"abc\", \"de\")) #> [1] 3"},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":null,"dir":"Reference","previous_headings":"","what":"Get a glimpse of your data — glimpse","title":"Get a glimpse of your data — glimpse","text":"glimpse() like transposed version print(): columns run page, data runs across. makes possible see every column data frame. little like str() applied data frame tries show much data possible. (always shows underlying data, even applied remote data source.) See format_glimpse() details formatting.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get a glimpse of your data — glimpse","text":"","code":"glimpse(x, width = NULL, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get a glimpse of your data — glimpse","text":"x object glimpse . width Width output: defaults setting width option (finite) width console. ... Unused, extensibility.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get a glimpse of your data — glimpse","text":"x original x (invisibly) returned, allowing glimpse() used within data pipe line.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":"s-methods","dir":"Reference","previous_headings":"","what":"S3 methods","title":"Get a glimpse of your data — glimpse","text":"glimpse S3 generic customised method tbls data.frames, default method calls str().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get a glimpse of your data — glimpse","text":"","code":"glimpse(mtcars) #> Rows: 32 #> Columns: 11 #> $ mpg 21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19.2,… #> $ cyl 6, 6, 4, 6, 8, 6, 8, 4, 4, 6, 6, 8, 8, 8, 8, 8, 8, 4, 4, 4,… #> $ disp 160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 140… #> $ hp 110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180, 18… #> $ drat 3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.92,… #> $ wt 2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3.1… #> $ qsec 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 22.… #> $ vs 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1,… #> $ am 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,… #> $ gear 4, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 4, 4, 4,… #> $ carb 4, 4, 1, 1, 2, 1, 4, 2, 2, 4, 4, 3, 3, 3, 4, 4, 4, 1, 2, 1,… glimpse(nycflights13::flights) #> Rows: 336,776 #> Columns: 19 #> $ year 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2… #> $ month 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1… #> $ day 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1… #> $ dep_time 517, 533, 542, 544, 554, 554, 555, 557, 557, 558,… #> $ sched_dep_time 515, 529, 540, 545, 600, 558, 600, 600, 600, 600,… #> $ dep_delay 2, 4, 2, -1, -6, -4, -5, -3, -3, -2, -2, -2, -2, … #> $ arr_time 830, 850, 923, 1004, 812, 740, 913, 709, 838, 753… #> $ sched_arr_time 819, 830, 850, 1022, 837, 728, 854, 723, 846, 745… #> $ arr_delay 11, 20, 33, -18, -25, 12, 19, -14, -8, 8, -2, -3,… #> $ carrier \"UA\", \"UA\", \"AA\", \"B6\", \"DL\", \"UA\", \"B6\", \"EV\", \"… #> $ flight 1545, 1714, 1141, 725, 461, 1696, 507, 5708, 79, … #> $ tailnum \"N14228\", \"N24211\", \"N619AA\", \"N804JB\", \"N668DN\",… #> $ origin \"EWR\", \"LGA\", \"JFK\", \"JFK\", \"LGA\", \"EWR\", \"EWR\", … #> $ dest \"IAH\", \"IAH\", \"MIA\", \"BQN\", \"ATL\", \"ORD\", \"FLL\", … #> $ air_time 227, 227, 160, 183, 116, 150, 158, 53, 140, 138, … #> $ distance 1400, 1416, 1089, 1576, 762, 719, 1065, 229, 944,… #> $ hour 5, 5, 5, 5, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6… #> $ minute 15, 29, 40, 45, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0,… #> $ time_hour 2013-01-01 05:00:00, 2013-01-01 05:00:00, 2013-0…"},{"path":"https://pillar.r-lib.org/dev/reference/new_ornament.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper to define the contents of a pillar — new_ornament","title":"Helper to define the contents of a pillar — new_ornament","text":"function useful data renders differently depending available width. case, implement pillar_shaft() method class return subclass \"pillar_shaft\" format() method subclass call new_ornament(). See implementation pillar_shaft.numeric() format.pillar_shaft_decimal() example.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_ornament.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper to define the contents of a pillar — new_ornament","text":"","code":"new_ornament(x, width = NULL, align = NULL)"},{"path":"https://pillar.r-lib.org/dev/reference/new_ornament.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper to define the contents of a pillar — new_ornament","text":"x character vector formatting, can use ANYI styles e.g provided cli package. width optional width resulting pillar, computed x missing align Alignment, one \"left\" \"right\"","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_ornament.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Helper to define the contents of a pillar — new_ornament","text":"","code":"new_ornament(c(\"abc\", \"de\"), align = \"right\") #> #> abc #> de"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar.html","id":null,"dir":"Reference","previous_headings":"","what":"Construct a custom pillar object — new_pillar","title":"Construct a custom pillar object — new_pillar","text":"new_pillar() low-level constructor pillar objects. supports arbitrary components. See pillar() high-level constructor default components.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Construct a custom pillar object — new_pillar","text":"","code":"new_pillar(components, ..., width = NULL, class = NULL, extra = deprecated())"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Construct a custom pillar object — new_pillar","text":"components named list components constructed pillar_component(). ... dots future extensions must empty. width Default width, optional. class Name subclass. extra Deprecated.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Construct a custom pillar object — new_pillar","text":"Arbitrary components supported. tibble subclass needs different components pillars, override extend ctl_new_pillar() perhaps ctl_new_pillar_list().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Construct a custom pillar object — new_pillar","text":"","code":"lines <- function(char = \"-\") { stopifnot(nchar(char) == 1) structure(char, class = \"lines\") } format.lines <- function(x, width, ...) { paste(rep(x, width), collapse = \"\") } new_pillar(list( title = pillar_component(new_ornament(c(\"abc\", \"de\"), align = \"right\")), lines = new_pillar_component(list(lines(\"=\")), width = 1) )) #> #> abc #> de #> ="},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_component.html","id":null,"dir":"Reference","previous_headings":"","what":"Components of a pillar — new_pillar_component","title":"Components of a pillar — new_pillar_component","text":"new_pillar_component() constructs object class \"pillar_component\". used custom ctl_new_pillar() methods create pillars nonstandard components. pillar_component() convenience helper wraps input list extracts width minimum width.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_component.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Components of a pillar — new_pillar_component","text":"","code":"new_pillar_component(x, ..., width, min_width = NULL) pillar_component(x)"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_component.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Components of a pillar — new_pillar_component","text":"x bare list length one (new_pillar_component()), object \"width\" \"min_width\" attributes (pillar_component()). ... dots future extensions must empty. width, min_width Width minimum width new component. min_width NULL, assumed match width.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_component.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Components of a pillar — new_pillar_component","text":"Objects class \"pillar\" internally named lists components. default components pillars created pillar() : title (may missing), type, data. component \"pillar_component\" object. class captures contents can fitted simple column. Compound columns represented multiple pillar objects, components.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_component.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Components of a pillar — new_pillar_component","text":"","code":"new_pillar_component(list(letters[1:3]), width = 1) #> [[1]] #> [1] \"a\" \"b\" \"c\" #> #> attr(,\"width\") #> [1] 1 #> attr(,\"min_width\") #> [1] 1 #> attr(,\"class\") #> [1] \"pillar_component\" pillar_component(new_pillar_title(\"letters\")) #> [[1]] #> [[1]] #> [1] \"letters\" #> #> attr(,\"class\") #> [1] \"pillar_title\" #> attr(,\"width\") #> [1] 7 #> attr(,\"min_width\") #> [1] 7 #> #> attr(,\"width\") #> [1] 7 #> attr(,\"min_width\") #> [1] 7 #> attr(,\"class\") #> [1] \"pillar_component\" pillar_component(new_pillar_type(letters)) #> [[1]] #> [[1]] #> [1] \"chr\" #> #> attr(,\"class\") #> [1] \"pillar_type\" #> attr(,\"width\") #> [1] 5 #> attr(,\"min_width\") #> [1] 5 #> #> attr(,\"width\") #> [1] 5 #> attr(,\"min_width\") #> [1] 5 #> attr(,\"class\") #> [1] \"pillar_component\" pillar_component(pillar_shaft(letters[1:3])) #> [[1]] #> #> a #> b #> c #> #> attr(,\"width\") #> [1] 1 #> attr(,\"min_width\") #> [1] 1 #> attr(,\"class\") #> [1] \"pillar_component\""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_shaft.html","id":null,"dir":"Reference","previous_headings":"","what":"Constructor for column data — new_pillar_shaft","title":"Constructor for column data — new_pillar_shaft","text":"new_pillar_shaft() constructor creates objects \"pillar_shaft\" class. virtual abstract class, must specify class argument. convention, string starts \"pillar_shaft_\". See vignette(\"extending\", package = \"tibble\") usage examples. method accepts vector arbitrary length expected return S3 object following properties: attribute \"width\" can attribute \"min_width\", missing, \"width\" used must implement method format(x, width, ...) can called value min_width width method must return object inherits character attributes \"align\" (supported values \"left\", \"right\", \"center\") \"width\" function new_pillar_shaft() returns object, also correctly formats NA values. many cases, implementation pillar_shaft.your_class_name() format data character vector (using color emphasis) simply call new_pillar_shaft(). See pillar:::pillar_shaft.numeric code allows changing display depending available width. new_pillar_shaft_simple() provides implementation pillar_shaft class suitable output fixed formatting, truncated continuation character (ellipsis ~) fit available width. default, required width computed natural width formatted argument.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_shaft.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Constructor for column data — new_pillar_shaft","text":"","code":"new_pillar_shaft( x, ..., width = NULL, min_width = width, type_sum = NULL, class = NULL, subclass = NULL ) new_pillar_shaft_simple( formatted, ..., width = NULL, align = \"left\", min_width = NULL, na = NULL, na_indent = 0L, shorten = c(\"back\", \"front\", \"mid\", \"abbreviate\"), short_formatted = NULL )"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_shaft.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Constructor for column data — new_pillar_shaft","text":"x object ... Passed new_pillar_shaft(). width maximum column width. min_width minimum allowed column width, width omitted. type_sum Override type summary displayed top data. argument, given, takes precedence type summary provided type_sum(). class name subclass. subclass Deprecated, pass class argument instead. formatted data show, object coercible character. align Alignment column. na String use NA value, defaults \"NA\" styled style_na() fallback color available. na_indent Indentation NA values. shorten abbreviate data necessary: \"back\" (default): add ellipsis end \"front\": add ellipsis front \"mid\": add ellipsis middle \"abbreviate\": use abbreviate() short_formatted provided, character vector length formatted, used available width insufficient show full output.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_shaft.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Constructor for column data — new_pillar_shaft","text":"formatted argument may also contain ANSI escapes change color attributes text, provided e.g. cli package.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_title.html","id":null,"dir":"Reference","previous_headings":"","what":"Prepare a column title for formatting — new_pillar_title","title":"Prepare a column title for formatting — new_pillar_title","text":"Call format() result render column titles.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_title.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Prepare a column title for formatting — new_pillar_title","text":"","code":"new_pillar_title(x, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_title.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Prepare a column title for formatting — new_pillar_title","text":"x character vector column titles. ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_title.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Prepare a column title for formatting — new_pillar_title","text":"","code":"format(new_pillar_title(names(trees))) #> [1] \"Girth \" \"Height\" \"Volume\""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_type.html","id":null,"dir":"Reference","previous_headings":"","what":"Prepare a column type for formatting — new_pillar_type","title":"Prepare a column type for formatting — new_pillar_type","text":"Calls type_sum() format type. Call format() result render column types.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_type.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Prepare a column type for formatting — new_pillar_type","text":"","code":"new_pillar_type(x, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_type.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Prepare a column type for formatting — new_pillar_type","text":"x vector type retrieved. ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_type.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Prepare a column type for formatting — new_pillar_type","text":"","code":"format(new_pillar_type(\"a\")) #> [1] \"\\033[3m\\033[38;5;246m\\033[39m\\033[23m\" format(new_pillar_type(factor(\"a\"))) #> [1] \"\\033[3m\\033[38;5;246m\\033[39m\\033[23m\""},{"path":"https://pillar.r-lib.org/dev/reference/new_tbl_format_setup.html","id":null,"dir":"Reference","previous_headings":"","what":"Construct a setup object for formatting — new_tbl_format_setup","title":"Construct a setup object for formatting — new_tbl_format_setup","text":"object returned default method tbl_format_setup() object \"class\" attribute elements described \"Parameters\" section. Named elements can added objects without affecting behavior. modify existing elements.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_tbl_format_setup.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Construct a setup object for formatting — new_tbl_format_setup","text":"","code":"new_tbl_format_setup( width, tbl_sum, x = NULL, df = NULL, body = NULL, rows_missing = NULL, rows_total = NULL, extra_cols = NULL, extra_cols_total = NULL, max_footer_lines = NULL, abbrev_cols = NULL )"},{"path":"https://pillar.r-lib.org/dev/reference/new_tbl_format_setup.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Construct a setup object for formatting — new_tbl_format_setup","text":"width width argument unchanged. tbl_sum named character vector, returned tbl_sum(). x input object unchanged. df data frame representation intended output, trimmed desired number rows. body character vector formatted body, one element per line, rows_missing number rows shown body, NA unknown. rows_total total number rows data, NA unknown. extra_cols Columns fit body, character vector formatted column names types. extra_cols_total total number columns, may larger length(extra_cols). max_footer_lines maximum number lines footer. abbrev_cols Formatted names columns shown abbreviated body.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/num.html","id":null,"dir":"Reference","previous_headings":"","what":"Format a numeric vector in a tibble — num","title":"Format a numeric vector in a tibble — num","text":"functions reexported tibble::num() tibble::set_num_opts().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/num.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format a numeric vector in a tibble — num","text":"","code":"num( x, ..., sigfig = NULL, digits = NULL, label = NULL, scale = NULL, notation = c(\"fit\", \"dec\", \"sci\", \"eng\", \"si\"), fixed_exponent = NULL, extra_sigfig = NULL ) set_num_opts( x, ..., sigfig = NULL, digits = NULL, label = NULL, scale = NULL, notation = c(\"fit\", \"dec\", \"sci\", \"eng\", \"si\"), fixed_exponent = NULL, extra_sigfig = NULL )"},{"path":"https://pillar.r-lib.org/dev/reference/pillar-package.html","id":null,"dir":"Reference","previous_headings":"","what":"pillar: Coloured Formatting for Columns — pillar-package","title":"pillar: Coloured Formatting for Columns — pillar-package","text":"Formats tabular data columns rows using full range colours provided modern terminals. Provides various generics making every aspect display customizable.","code":""},{"path":[]},{"path":"https://pillar.r-lib.org/dev/reference/pillar-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"pillar: Coloured Formatting for Columns — pillar-package","text":"Maintainer: Kirill Müller kirill@cynkra.com (ORCID) Authors: Hadley Wickham contributors: RStudio [copyright holder]","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar-package.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"pillar: Coloured Formatting for Columns — pillar-package","text":"","code":"pillar(1:3) #> #> #> 1 #> 2 #> 3 pillar(c(1, 2, 3)) #> #> #> 1 #> 2 #> 3 pillar(factor(letters[1:3]), title = \"letters\") #> #> letters #> #> a #> b #> c tbl_format_setup(tibble::as_tibble(mtcars), width = 60) #> #> #> # A tibble: 32 × 11 #> #> mpg cyl disp hp drat wt qsec vs am #> #> 1 21 6 160 110 3.9 2.62 16.5 0 1 #> 2 21 6 160 110 3.9 2.88 17.0 0 1 #> 3 22.8 4 108 93 3.85 2.32 18.6 1 1 #> 4 21.4 6 258 110 3.08 3.22 19.4 1 0 #> 5 18.7 8 360 175 3.15 3.44 17.0 0 0 #> 6 18.1 6 225 105 2.76 3.46 20.2 1 0 #> 7 14.3 8 360 245 3.21 3.57 15.8 0 0 #> 8 24.4 4 147. 62 3.69 3.19 20 1 0 #> 9 22.8 4 141. 95 3.92 3.15 22.9 1 0 #> 10 19.2 6 168. 123 3.92 3.44 18.3 1 0 #> #> # ℹ 22 more rows #> # ℹ 2 more variables: gear , carb "},{"path":"https://pillar.r-lib.org/dev/reference/pillar.html","id":null,"dir":"Reference","previous_headings":"","what":"Object for formatting a vector suitable for tabular display — pillar","title":"Object for formatting a vector suitable for tabular display — pillar","text":"pillar() creates object formats vector. output uses one row title (given), one row type, vec_size(x) rows data.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Object for formatting a vector suitable for tabular display — pillar","text":"","code":"pillar(x, title = NULL, width = NULL, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/pillar.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Object for formatting a vector suitable for tabular display — pillar","text":"x vector format. title optional title column. title used \"\", quoting applied. width Default width, optional. ... Passed pillar_shaft().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Object for formatting a vector suitable for tabular display — pillar","text":"pillar consists arbitrary components. pillar() constructor uses title, type, data. title via new_pillar_title() type via new_pillar_type(), calls type_sum() internally data via pillar_shaft() components formatted via format() displaying pillar. width argument passed format() call. pillar 1.5.0, pillar() returns NULL width insufficient display data.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Object for formatting a vector suitable for tabular display — pillar","text":"","code":"x <- 123456789 * (10^c(-1, -3, -5, NA, -8, -10)) pillar(x) #> #> #> 12345679. #> 123457. #> 1235. #> NA #> 1.23 #> 0.0123 pillar(-x) #> #> #> -1.23e+7 #> -1.23e+5 #> -1.23e+3 #> NA #> -1.23e+0 #> -1.23e-2 pillar(runif(10)) #> #> #> 0.0808 #> 0.834 #> 0.601 #> 0.157 #> 0.00740 #> 0.466 #> 0.498 #> 0.290 #> 0.733 #> 0.773 pillar(rcauchy(20)) #> #> #> -0.416 #> 0.613 #> 0.108 #> 1.58 #> 3.16 #> 0.706 #> 3.20 #> 0.203 #> 2.74 #> -0.0770 #> 1.29 #> -1.59 #> -1.10 #> 0.707 #> -0.0612 #> -1.05 #> 0.163 #> -10.5 #> -1.42 #> -1.49 # Special values are highlighted pillar(c(runif(5), NA, NaN, Inf, -Inf)) #> #> #> 0.0312 #> 0.226 #> 0.301 #> 0.636 #> 0.479 #> NA #> NaN #> Inf #> -Inf # Very wide ranges will be displayed in scientific format pillar(c(1e10, 1e-10), width = 20) #> #> #> 1e+10 #> 1e-10 pillar(c(1e10, 1e-10)) #> #> #> 1e+10 #> 1e-10 x <- c(FALSE, NA, FALSE, FALSE, TRUE, FALSE, FALSE, TRUE, FALSE, TRUE) pillar(x) #> #> #> FALSE #> NA #> FALSE #> FALSE #> TRUE #> FALSE #> FALSE #> TRUE #> FALSE #> TRUE x <- c(\"This is string is rather long\", NA, \"?\", \"Short\") pillar(x) #> #> #> This is string is rather long #> NA #> ? #> Short pillar(x, width = 30) #> #> #> This is string is rather long #> NA #> ? #> Short pillar(x, width = 5) #> #> #> This… #> NA #> ? #> Short date <- as.Date(\"2017-05-15\") pillar(date + c(1, NA, 3:5)) #> #> #> 2017-05-16 #> NA #> 2017-05-18 #> 2017-05-19 #> 2017-05-20 pillar(as.POSIXct(date) + c(30, NA, 600, 3600, 86400)) #> #> #> 2017-05-15 00:00:30 #> NA #> 2017-05-15 00:10:00 #> 2017-05-15 01:00:00 #> 2017-05-16 00:00:00"},{"path":"https://pillar.r-lib.org/dev/reference/pillar_options.html","id":null,"dir":"Reference","previous_headings":"","what":"Package options — pillar_options","title":"Package options — pillar_options","text":"Options affect display tibble-like output.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_options.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Package options — pillar_options","text":"options can set via options() queried via getOption().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_options.html","id":"options-for-the-pillar-package","dir":"Reference","previous_headings":"","what":"Options for the pillar package","title":"Package options — pillar_options","text":"pillar.print_max: Maximum number rows printed, default: 20. Set Inf always print rows. compatibility reasons, getOption(\"tibble.print_max\") getOption(\"dplyr.print_max\") also consulted, soft-deprecated pillar v2.0.0. pillar.print_min: Number rows printed table print_max rows, default: 10. compatibility reasons, getOption(\"tibble.print_min\") getOption(\"dplyr.print_min\") also consulted, soft-deprecated pillar v2.0.0. pillar.width: Output width. Default: NULL (use getOption(\"width\")). can larger getOption(\"width\"), case output table's body distributed multiple tiers wide tibbles. compatibility reasons, getOption(\"tibble.width\") getOption(\"dplyr.width\") also consulted, soft-deprecated pillar v2.0.0. pillar.max_footer_lines: maximum number lines footer, default: 7. Set Inf turn truncation footer lines. max_extra_cols option still limits number columns printed. pillar.max_extra_cols: maximum number columns printed footer, default: 100. Set Inf show columns. Set predictable max_footer_lines control number footer lines instead. pillar.bold: Use bold font, e.g. column headers? currently defaults FALSE, many terminal fonts poor support bold fonts. pillar.subtle: Use subtle style, e.g. row numbers data types? Default: TRUE. pillar.subtle_num: Use subtle style insignificant digits? Default: FALSE, also affected subtle option. pillar.neg: Highlight negative numbers? Default: TRUE. pillar.sigfig: number significant digits printed highlighted, default: 3. Set subtle option FALSE turn highlighting significant digits. pillar.min_title_chars: minimum number characters column title, default: 20. Column titles may truncated width save horizontal space. Set Inf turn truncation column titles. pillar.min_chars: minimum number characters wide display character columns, default: 3. Character columns may truncated width save horizontal space. Set Inf turn truncation character columns. pillar.max_dec_width: maximum allowed width decimal notation, default: 13. pillar.bidi: Set TRUE experimental support bidirectional scripts. Default: FALSE. option set, \"left right override\" \"first strong isolate\" Unicode controls inserted ensure text appears intended direction column headings correspond correct columns. pillar.superdigit_sep: string inserted superscript digits column names footnote. Defaults \"\\u200b\", zero-width space, UTF-8 platforms, \": \" non-UTF-8 platforms. pillar.advice: advice displayed footer columns rows missing output? Defaults TRUE interactive sessions, FALSE otherwise.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_options.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Package options — pillar_options","text":"","code":"df <- tibble::tibble(x = c(1.234567, NA, 5:10)) df #> # A tibble: 8 × 1 #> x #> #> 1 1.23 #> 2 NA #> 3 5 #> 4 6 #> 5 7 #> 6 8 #> 7 9 #> 8 10 # Change for the duration of the session: old <- options( pillar.sigfig = 6, pillar.print_max = 5, pillar.print_min = 5, pillar.advice = FALSE ) df #> # A tibble: 8 × 1 #> x #> #> 1 1.23457 #> 2 NA #> 3 5 #> 4 6 #> 5 7 #> # ℹ 3 more rows # Change back to the original value: options(old) df #> # A tibble: 8 × 1 #> x #> #> 1 1.23 #> 2 NA #> 3 5 #> 4 6 #> 5 7 #> 6 8 #> 7 9 #> 8 10"},{"path":"https://pillar.r-lib.org/dev/reference/pillar_shaft.html","id":null,"dir":"Reference","previous_headings":"","what":"Column data — pillar_shaft","title":"Column data — pillar_shaft","text":"Internal class formatting data column. pillar_shaft() coercion method must implemented data type display tibble. class comes default method print() calls format(). print() called without width argument, natural width used calling format(). Usually need implement method subclass. subclass must implement format(), default implementation just raises error. format() method can assume valid value width argument.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_shaft.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Column data — pillar_shaft","text":"","code":"pillar_shaft(x, ...) # S3 method for class 'pillar_shaft' print(x, width = NULL, ...) # S3 method for class 'pillar_shaft' format(x, width, ...) # S3 method for class 'logical' pillar_shaft(x, ...) # S3 method for class 'numeric' pillar_shaft(x, ..., sigfig = NULL) # S3 method for class 'Date' pillar_shaft(x, ...) # S3 method for class 'POSIXt' pillar_shaft(x, ...) # S3 method for class 'character' pillar_shaft(x, ..., min_width = NULL) # S3 method for class 'glue' pillar_shaft(x, ..., min_width = NULL, na_indent = 0L, shorten = NULL) # S3 method for class 'list' pillar_shaft(x, ...) # S3 method for class 'factor' pillar_shaft(x, ...) # S3 method for class 'AsIs' pillar_shaft(x, ...) # Default S3 method pillar_shaft(x, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/pillar_shaft.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Column data — pillar_shaft","text":"x vector format ... Arguments passed methods. width Width printing formatting. sigfig Deprecated, use num() set_num_opts() data instead. min_width Deprecated, use char() set_char_opts() data instead. na_indent Indentation NA values. shorten abbreviate data necessary: \"back\" (default): add ellipsis end \"front\": add ellipsis front \"mid\": add ellipsis middle \"abbreviate\": use abbreviate()","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_shaft.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Column data — pillar_shaft","text":"default method currently format via format(), rely behavior.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_shaft.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Column data — pillar_shaft","text":"","code":"pillar_shaft(1:3) #> #> 1 #> 2 #> 3 pillar_shaft(1.5:3.5) #> #> 1.5 #> 2.5 #> 3.5 pillar_shaft(NA) #> #> NA pillar_shaft(c(1:3, NA)) #> #> 1 #> 2 #> 3 #> NA"},{"path":"https://pillar.r-lib.org/dev/reference/scale_x_num.html","id":null,"dir":"Reference","previous_headings":"","what":"Scale that supports formatted numbers — scale_x_num","title":"Scale that supports formatted numbers — scale_x_num","text":"scale used default ggplot2 columns created num().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/scale_x_num.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Scale that supports formatted numbers — scale_x_num","text":"","code":"scale_x_num( ..., position = \"bottom\", guide = ggplot2::waiver(), rescaler = NULL, super = NULL ) scale_y_num(..., guide = ggplot2::waiver(), rescaler = NULL, super = NULL)"},{"path":"https://pillar.r-lib.org/dev/reference/scale_x_num.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Scale that supports formatted numbers — scale_x_num","text":"... Arguments passed ggplot2::continuous_scale aesthetics names aesthetics scale works . palette palette function called numeric vector values 0 1 returns corresponding output values (e.g., scales::pal_area()). name name scale. Used axis legend title. waiver(), default, name scale taken first mapping used aesthetic. NULL, legend title omitted. breaks One : NULL breaks waiver() default breaks computed transformation object numeric vector positions function takes limits input returns breaks output (e.g., function returned scales::extended_breaks()). Note position scales, limits provided scale expansion. Also accepts rlang lambda function notation. minor_breaks One : NULL minor breaks waiver() default breaks (one minor break major break) numeric vector positions function given limits returns vector minor breaks. Also accepts rlang lambda function notation. function two arguments, given limits major breaks. n.breaks integer guiding number major breaks. algorithm may choose slightly different number ensure nice break labels. effect breaks = waiver(). Use NULL use default number breaks given transformation. labels One : NULL labels waiver() default labels computed transformation object character vector giving labels (must length breaks) expression vector (must length breaks). See ?plotmath details. function takes breaks input returns labels output. Also accepts rlang lambda function notation. limits One : NULL use default scale range numeric vector length two providing limits scale. Use NA refer existing minimum maximum function accepts existing (automatic) limits returns new limits. Also accepts rlang lambda function notation. Note setting limits positional scales remove data outside limits. purpose zoom, use limit argument coordinate system (see coord_cartesian()). oob One : Function handles limits outside scale limits (bounds). Also accepts rlang lambda function notation. default (scales::censor()) replaces bounds values NA. scales::squish() squishing bounds values range. scales::squish_infinite() squishing infinite values range. expand position scales, vector range expansion constants used add padding around data ensure placed distance away axes. Use convenience function expansion() generate values expand argument. defaults expand scale 5% side continuous variables, 0.6 units side discrete variables. na.value Missing values replaced value. transform continuous scales, name transformation object object . Built-transformations include \"asn\", \"atanh\", \"boxcox\", \"date\", \"exp\", \"hms\", \"identity\", \"log\", \"log10\", \"log1p\", \"log2\", \"logit\", \"modulus\", \"probability\", \"probit\", \"pseudo_log\", \"reciprocal\", \"reverse\", \"sqrt\" \"time\". transformation object bundles together transform, inverse, methods generating breaks labels. Transformation objects defined scales package, called transform_. transformations require arguments, can call scales package, e.g. scales::transform_boxcox(p = 2). can create transformation scales::new_transform(). trans Deprecated favour transform. call call used construct scale reporting messages. guide, position Passed ggplot2::continuous_scale() rescaler, super Must remain NULL.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/squeeze.html","id":null,"dir":"Reference","previous_headings":"","what":"Squeeze a colonnade to a fixed width — squeeze","title":"Squeeze a colonnade to a fixed width — squeeze","text":"squeeze() function usually need called manually. returns object suitable printing formatting fixed width additional information omitted columns, can retrieved via extra_cols().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/squeeze.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Squeeze a colonnade to a fixed width — squeeze","text":"","code":"squeeze(x, width = NULL, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/style_subtle.html","id":null,"dir":"Reference","previous_headings":"","what":"Styling helpers — style_num","title":"Styling helpers — style_num","text":"Functions allow implementers formatters custom data types maintain consistent style default data types.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/style_subtle.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Styling helpers — style_num","text":"","code":"style_num(x, negative, significant = rep_along(x, TRUE)) style_subtle(x) style_subtle_num(x, negative) style_bold(x) style_na(x) style_neg(x)"},{"path":"https://pillar.r-lib.org/dev/reference/style_subtle.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Styling helpers — style_num","text":"x character vector style. negative, significant Logical vector length x indicate values negative significant, respectively","code":""},{"path":"https://pillar.r-lib.org/dev/reference/style_subtle.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Styling helpers — style_num","text":"style_subtle() affected subtle option. style_subtle_num() affected subtle_num option, FALSE default. style_bold() affected bold option, FALSE default. style_neg() affected pillar.neg option.","code":""},{"path":[]},{"path":"https://pillar.r-lib.org/dev/reference/style_subtle.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Styling helpers — style_num","text":"","code":"style_num( c(\"123\", \"456\"), negative = c(TRUE, FALSE) ) #> [1] \"\\033[31m123\\033[39m\" \"456\" style_num( c(\"123\", \"456\"), negative = c(TRUE, FALSE), significant = c(FALSE, FALSE) ) #> [1] \"\\033[31m123\\033[39m\" \"456\" style_subtle(\"text\") #> [1] \"\\033[38;5;246mtext\\033[39m\" style_subtle_num(0.01 * 1:3, c(TRUE, FALSE, TRUE)) #> [1] \"\\033[31m0.01\\033[39m\" \"0.02\" \"\\033[31m0.03\\033[39m\" style_bold(\"Petal.Width\") #> [1] \"Petal.Width\" style_na(\"NA\") #> [1] \"\\033[31mNA\\033[39m\" style_neg(\"123\") #> [1] \"\\033[31m123\\033[39m\""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_body.html","id":null,"dir":"Reference","previous_headings":"","what":"Format the body of a tibble — tbl_format_body","title":"Format the body of a tibble — tbl_format_body","text":"easier customization, formatting tibble split three components: header, body, footer. tbl_format_body() method responsible formatting body tibble. Override method need change appearance parts body. need change appearance single data type, override vctrs::vec_ptype_abbr() pillar_shaft() data type.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_body.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format the body of a tibble — tbl_format_body","text":"","code":"tbl_format_body(x, setup, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_body.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format the body of a tibble — tbl_format_body","text":"x tibble-like object. setup setup object returned tbl_format_setup(). ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_body.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Format the body of a tibble — tbl_format_body","text":"character vector.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_body.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format the body of a tibble — tbl_format_body","text":"","code":"setup <- tbl_format_setup(palmerpenguins::penguins) tbl_format_body(palmerpenguins::penguins, setup) #> species island bill_length_mm bill_depth_mm flipper_length_mm #> #> 1 Adelie Torgersen 39.1 18.7 181 #> 2 Adelie Torgersen 39.5 17.4 186 #> 3 Adelie Torgersen 40.3 18 195 #> 4 Adelie Torgersen NA NA NA #> 5 Adelie Torgersen 36.7 19.3 193 #> 6 Adelie Torgersen 39.3 20.6 190 #> 7 Adelie Torgersen 38.9 17.8 181 #> 8 Adelie Torgersen 39.2 19.6 195 #> 9 Adelie Torgersen 34.1 18.1 193 #> 10 Adelie Torgersen 42 20.2 190 # Shortcut for debugging tbl_format_body(setup) #> #> species island bill_length_mm bill_depth_mm flipper_length_mm #> #> 1 Adelie Torgersen 39.1 18.7 181 #> 2 Adelie Torgersen 39.5 17.4 186 #> 3 Adelie Torgersen 40.3 18 195 #> 4 Adelie Torgersen NA NA NA #> 5 Adelie Torgersen 36.7 19.3 193 #> 6 Adelie Torgersen 39.3 20.6 190 #> 7 Adelie Torgersen 38.9 17.8 181 #> 8 Adelie Torgersen 39.2 19.6 195 #> 9 Adelie Torgersen 34.1 18.1 193 #> 10 Adelie Torgersen 42 20.2 190"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_footer.html","id":null,"dir":"Reference","previous_headings":"","what":"Format the footer of a tibble — tbl_format_footer","title":"Format the footer of a tibble — tbl_format_footer","text":"easier customization, formatting tibble split three components: header, body, footer. tbl_format_footer() method responsible formatting footer tibble. Override extend method need change appearance footer. default implementation adds information rows columns shown body.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_footer.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format the footer of a tibble — tbl_format_footer","text":"","code":"tbl_format_footer(x, setup, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_footer.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format the footer of a tibble — tbl_format_footer","text":"x tibble-like object. setup setup object returned tbl_format_setup(). ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_footer.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Format the footer of a tibble — tbl_format_footer","text":"character vector.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_footer.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format the footer of a tibble — tbl_format_footer","text":"","code":"setup <- tbl_format_setup(palmerpenguins::penguins) tbl_format_footer(palmerpenguins::penguins, setup) #> [1] \"\\033[38;5;246m# ℹ 334 more rows\\033[39m\" #> [2] \"\\033[38;5;246m# ℹ 3 more variables: body_mass_g , sex , year \\033[39m\" # Shortcut for debugging tbl_format_footer(setup) #> #> # ℹ 334 more rows #> # ℹ 3 more variables: body_mass_g , sex , year "},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_header.html","id":null,"dir":"Reference","previous_headings":"","what":"Format the header of a tibble — tbl_format_header","title":"Format the header of a tibble — tbl_format_header","text":"easier customization, formatting tibble split three components: header, body, footer. tbl_format_header() method responsible formatting header tibble. Override method need change appearance entire header. need change extend components shown header, override extend tbl_sum() class called default method.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_header.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format the header of a tibble — tbl_format_header","text":"","code":"tbl_format_header(x, setup, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_header.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format the header of a tibble — tbl_format_header","text":"x tibble-like object. setup setup object returned tbl_format_setup(). ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_header.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Format the header of a tibble — tbl_format_header","text":"character vector.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_header.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format the header of a tibble — tbl_format_header","text":"","code":"setup <- tbl_format_setup(palmerpenguins::penguins) tbl_format_header(palmerpenguins::penguins, setup) #> [1] \"\\033[38;5;246m# A tibble: 344 × 8\\033[39m\" # Shortcut for debugging tbl_format_header(setup) #> #> # A tibble: 344 × 8"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_setup.html","id":null,"dir":"Reference","previous_headings":"","what":"Set up formatting — tbl_format_setup","title":"Set up formatting — tbl_format_setup","text":"tbl_format_setup() called format.tbl(). method collects information common header, body, footer parts tibble. Examples: dimensions sometimes reported header (implicitly) footer tibble; columns shown body decide columns shown footer. information computed tbl_format_setup(). result passed tbl_format_header(), tbl_format_body(), tbl_format_footer() methods. need customize parts printed output independently, override methods instead. checking setup argument, can return object suitable call tbl_format_header() setup NULL. case, method called second time return value first call setup.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_setup.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set up formatting — tbl_format_setup","text":"","code":"tbl_format_setup( x, width = NULL, ..., setup = list(tbl_sum = tbl_sum(x)), n = NULL, max_extra_cols = NULL, max_footer_lines = NULL, focus = NULL ) # S3 method for class 'tbl' tbl_format_setup( x, width, ..., setup, n, max_extra_cols, max_footer_lines, focus )"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_setup.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set up formatting — tbl_format_setup","text":"x object. width Actual width printing, numeric greater zero. argument mandatory implementations method. ... Extra arguments print.tbl() format.tbl(). setup generic first called setup = NULL . method evaluates argument, return value used call tbl_format_header(), , second call generic made return value first call setup used calls tbl_format_body() tbl_format_footer(). allows displaying header starting computation required body footer. n Actual number rows print. options considered implementations method. max_extra_cols Number columns print abbreviated information , width small entire tibble. options considered implementations method. max_footer_lines Maximum number lines footer. options considered implementations method. focus Names columns show preferentially space tight.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_setup.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set up formatting — tbl_format_setup","text":"object can passed setup argument tbl_format_header(), tbl_format_body(), tbl_format_footer().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_setup.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Set up formatting — tbl_format_setup","text":"Extend method prepare information used several parts printed output tibble-like object, collect additional arguments passed via ... print.tbl() format.tbl(). expect tbl_format_setup() extended rarely, overridden exceptional circumstances, . override method, must also implement tbl_format_header(), tbl_format_body(), tbl_format_footer() class. Implementing method allows override printing formatting entire object without overriding print() format() methods directly. allows keep logic width n arguments. default method \"tbl\" class collects information standard printing tibbles. See new_tbl_format_setup() details returned object.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_setup.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Set up formatting — tbl_format_setup","text":"","code":"tbl_format_setup(palmerpenguins::penguins) #> #> #> # A tibble: 344 × 8 #> #> species island bill_length_mm bill_depth_mm flipper_length_mm #> #> 1 Adelie Torgersen 39.1 18.7 181 #> 2 Adelie Torgersen 39.5 17.4 186 #> 3 Adelie Torgersen 40.3 18 195 #> 4 Adelie Torgersen NA NA NA #> 5 Adelie Torgersen 36.7 19.3 193 #> 6 Adelie Torgersen 39.3 20.6 190 #> 7 Adelie Torgersen 38.9 17.8 181 #> 8 Adelie Torgersen 39.2 19.6 195 #> 9 Adelie Torgersen 34.1 18.1 193 #> 10 Adelie Torgersen 42 20.2 190 #> #> # ℹ 334 more rows #> # ℹ 3 more variables: body_mass_g , sex , year "},{"path":"https://pillar.r-lib.org/dev/reference/tbl_nrow.html","id":null,"dir":"Reference","previous_headings":"","what":"Number of rows in a tbl object — tbl_nrow","title":"Number of rows in a tbl object — tbl_nrow","text":"generic called tbl_format_setup() determine number rows tbl object.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_nrow.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Number of rows in a tbl object — tbl_nrow","text":"","code":"tbl_nrow(x, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_nrow.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Number of rows in a tbl object — tbl_nrow","text":"x tbl object. ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_sum.html","id":null,"dir":"Reference","previous_headings":"","what":"Provide a succinct summary of an object — tbl_sum","title":"Provide a succinct summary of an object — tbl_sum","text":"tbl_sum() gives brief textual description table-like object, include dimensions data source first element, additional information elements (grouping dplyr). default implementation forwards obj_sum().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_sum.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Provide a succinct summary of an object — tbl_sum","text":"","code":"tbl_sum(x)"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_sum.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Provide a succinct summary of an object — tbl_sum","text":"x Object summarise.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_sum.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Provide a succinct summary of an object — tbl_sum","text":"named character vector, describing dimensions first element data source name first element.","code":""},{"path":[]},{"path":"https://pillar.r-lib.org/dev/reference/tbl_sum.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Provide a succinct summary of an object — tbl_sum","text":"","code":"tbl_sum(1:10) #> Description #> \"int [10]\" tbl_sum(matrix(1:10)) #> Description #> \"int [10 × 1]\" tbl_sum(data.frame(a = 1)) #> Description #> \"df [1 × 1]\" tbl_sum(Sys.Date()) #> Description #> \"date [1]\" tbl_sum(Sys.time()) #> Description #> \"dttm [1]\" tbl_sum(mean) #> Description #> \"fn\""},{"path":"https://pillar.r-lib.org/dev/reference/type_sum.html","id":null,"dir":"Reference","previous_headings":"","what":"Provide a succinct summary of an object — type_sum","title":"Provide a succinct summary of an object — type_sum","text":"type_sum() gives brief summary object type. Objects commonly occur data frame return string four less characters. inputs, argument forwarded vctrs::vec_ptype_abbr(). obj_sum() also includes size (shape) object vctrs::vec_is() TRUE. always return string (character vector length one). pillar v1.6.1, default method forwards vctrs::vec_ptype_abbr() vectors type_sum() objects. Previous versions always forwarded type_sum(). attribute named \"short\" return value picked pillar_shaft() method lists, used space limited. size_sum() called obj_sum() format size object. always return string (character vector length one), can empty string \"\" omit size information, default method scalars.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/type_sum.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Provide a succinct summary of an object — type_sum","text":"","code":"type_sum(x) obj_sum(x) size_sum(x)"},{"path":"https://pillar.r-lib.org/dev/reference/type_sum.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Provide a succinct summary of an object — type_sum","text":"x object summarise. Generally methods atomic vectors variants implemented.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/type_sum.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Provide a succinct summary of an object — type_sum","text":"formatting pillar, type_sum() called slice column vector. formatted type depend type data, avoid confusion.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/type_sum.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Provide a succinct summary of an object — type_sum","text":"","code":"obj_sum(1:10) #> [1] \"int [10]\" #> attr(,\"short\") #> [1] \"int\" obj_sum(matrix(1:10)) #> [1] \"int [10 × 1]\" #> attr(,\"short\") #> [1] \"int[…]\" obj_sum(data.frame(a = 1)) #> [1] \"df [1 × 1]\" #> attr(,\"short\") #> [1] \"df\" obj_sum(Sys.Date()) #> [1] \"date [1]\" #> attr(,\"short\") #> [1] \"date\" obj_sum(Sys.time()) #> [1] \"dttm [1]\" #> attr(,\"short\") #> [1] \"dttm\" obj_sum(mean) #> [1] \"fn\" size_sum(1:10) #> [1] \"[10]\" size_sum(trees) #> [1] \"[31 × 3]\" size_sum(Titanic) #> [1] \"[4 × 2 × 2 × 2]\""},{"path":[]},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-9-99-9900","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.9.99.9900","text":"tbl_format_setup() gains setup argument supports printing header data body available, e.g., remote backends databases (#686). New tbl_nrow() support lazy data frames (#679). Show missing values red glimpse() (@ryanzomorrodi, #662). Math operations num() objects now pass additional arguments mathematical function (@gvelasq, #659, #660).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"chore-1-9-99-9900","dir":"Changelog","previous_headings":"","what":"Chore","title":"pillar 1.9.99.9900","text":"Results. Fix vignette building tibble missing (#681). Refactorings improve duckplyr support (#682). Revdepcheck results. Auto-update GitHub Actions. Run: https://github.com/r-lib/pillar/actions/runs/10224241696 Run: https://github.com/r-lib/pillar/actions/runs/10200114378 Run: https://github.com/r-lib/pillar/actions/runs/9830060650 Add Aviator configuration. Run: https://github.com/r-lib/pillar/actions/runs/9748527745 Drop scale_name ggplot2 arg drop fansi dep (@olivroy, #663). Run: https://github.com/r-lib/pillar/actions/runs/9728438554 Run: https://github.com/r-lib/pillar/actions/runs/9691618335","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"continuous-integration-1-9-99-9900","dir":"Changelog","previous_headings":"","what":"Continuous integration","title":"pillar 1.9.99.9900","text":"Avoid failure fledge workflow changes (#705). Fetch tags fledge workflow avoid unnecessary NEWS entries (#703). Use larger retry count lock-threads workflow (#701). Ignore errors removing pkg-config macOS (#695). Explicit permissions (#693). Use styler main branch (#691). Need install R Ubuntu 24.04 (#689). Use Ubuntu 24.04 styler PR (#687). Use styler PR. Correctly detect branch protection (#678). Use stable pak (#677). Trigger run (#676). ci: Trigger run ci: Latest changes Trigger run (#675). Use pkgdown branch (#674). ci: Use pkgdown branch ci: Updates duckdb Install via R CMD INSTALL ., pak (#672). ci: Install via R CMD INSTALL ., pak ci: Bump version upload-artifact action Install local package pkgdown builds. Improve support protected branches fledge. Improve support protected branches, without fledge. Sync latest developments. Fix edge case suggested packages. Use v2 instead master. Inline action. Refactor dep-suggests-matrix, avoid killing base recommended packages. Use dev roxygen2 decor. Fix Windows, tweak lock workflow. Avoid checking bashisms Windows. Better commit message. Bump versions, better default, consume custom matrix. Recent updates.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"documentation-1-9-99-9900","dir":"Changelog","previous_headings":"","what":"Documentation","title":"pillar 1.9.99.9900","text":"Update _pkgdown.yml bring back search bar (@olivroy, #667). implement type_sum.accel() pkgdown mode (#661). Avoid displaying deprecated argument @inheritDotParams (@olivroy, #657).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"testing-1-9-99-9900","dir":"Changelog","previous_headings":"","what":"Testing","title":"pillar 1.9.99.9900","text":"Remove empty snapshot tests (#664).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"uncategorized-1-9-99-9900","dir":"Changelog","previous_headings":"","what":"Uncategorized","title":"pillar 1.9.99.9900","text":"Internal changes . Merged cran-1.9.0 main.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-190","dir":"Changelog","previous_headings":"","what":"pillar 1.9.0","title":"pillar 1.9.0","text":"CRAN release: 2023-03-22","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-9-0","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.9.0","text":"Math operations num() objects longer perform type checks. allows, e.g., multiplying num() logical (#630, #632).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"printing-1-9-0","dir":"Changelog","previous_headings":"","what":"Printing","title":"pillar 1.9.0","text":"default pillar.min_title_chars option bumped 20 characters title truncuation affects long variables. Use options(pillar.min_title_chars = 5) reset previous default (#582, #620). Use info bullets format details (#582, #617, #627, #635).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"breaking-changes-1-9-0","dir":"Changelog","previous_headings":"","what":"Breaking changes","title":"pillar 1.9.0","text":"colonnade(), extra_cols() squeeze() now hard-deprecated (#272, #374, #631).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-9-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.9.0","text":"Show colnames() hint needed (tidyverse/tibble#1488, #622). Fix printing small numbers (#615, #619). Shortened list columns also shown subtle style (#628, #634). Avoid warning S4 character classes (tidyverse/tibble#1367, #625). Fix method consistency, checked R-devel (#633).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"documentation-1-9-0","dir":"Changelog","previous_headings":"","what":"Documentation","title":"pillar 1.9.0","text":"Polish ?pillar_options (#583). Fix typo & missing quote digits vignette stub (@gavinsimpson, #629).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-9-0","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.9.0","text":"Require vctrs >= 0.5.0","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-181","dir":"Changelog","previous_headings":"","what":"pillar 1.8.1","title":"pillar 1.8.1","text":"CRAN release: 2022-08-19","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-8-1","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.8.1","text":"New pillar.advice option turn advice footer, see ?pillar_options. Now default non-interactive mode (#577).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-180","dir":"Changelog","previous_headings":"","what":"pillar 1.8.0","title":"pillar 1.8.0","text":"CRAN release: 2022-07-18","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"display-1-8-0","dir":"Changelog","previous_headings":"","what":"Display","title":"pillar 1.8.0","text":"Column names abbreviated header gain footnote printed full footer (#483), extra columns (#548). column name header abbreviated, backticks removed (#525). new \"pillar.superdigit_sep\" option determines string used separate footnote column name footer (#553). default value pillar.min_title_width option changed 5. means effectively width pillar decided data. Use options(pillar.min_title_width = 15) restore previous default, see also ?pillar_options details (#531). Offer advice footer print columns rows (#567). Avoid aligning NA inside quotes short character vectors (#562).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-8-0","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.8.0","text":"Pick \"pillar_focus\" attribute printing define focus columns (#549). New ctl_new_rowid_pillar() generic default method customizing appearance row IDs (#260, #550, @nbenn).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-8-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.8.0","text":"Fix printing Surv Surv2 objects (#561). Fix wording corner case max_extra_cols = 1 (#535). Remove excess underlines bit64::integer64() data different magnitude (#517, #529).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"documentation-1-8-0","dir":"Changelog","previous_headings":"","what":"Documentation","title":"pillar 1.8.0","text":"ctl_new_pillar_list() documented separate help page (#516). Remove outdated detail ?tbl_sum (@IndrajeetPatil, #565).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"chore-1-8-0","dir":"Changelog","previous_headings":"","what":"Chore","title":"pillar 1.8.0","text":"Drop crayon dependency (#559). Import ellipsis rlang (#554). Skip test requires lubridate ’s installed (#505, @MichaelChirico).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"api-1-8-0","dir":"Changelog","previous_headings":"","what":"API","title":"pillar 1.8.0","text":"Soft-deprecate colonnade(), squeeze() extra_cols() (#496). Require rlang 1.0.1 (#512).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-170","dir":"Changelog","previous_headings":"","what":"pillar 1.7.0","title":"pillar 1.7.0","text":"CRAN release: 2022-02-01","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"breaking-changes-1-7-0","dir":"Changelog","previous_headings":"","what":"Breaking changes","title":"pillar 1.7.0","text":"colonnade() now soft-deprecated (#485). expect_known_display() is_vector_s3() now deprecated (#460, #501). new_pillar() deprecates extra argument (#497).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-7-0","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.7.0","text":"Focus columns specified via focus argument tbl_format_setup() kept original place shown maximum width “type” component underlined (#465).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-7-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.7.0","text":"Update s3_register() use new implementation rlang, fixes CRAN checks related scale_type() (#462).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-7-0","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.7.0","text":"Single pillars constructed pillar() use much width required printing (#484).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-165","dir":"Changelog","previous_headings":"","what":"pillar 1.6.5","title":"pillar 1.6.5","text":"CRAN release: 2022-01-25","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"breaking-changes-1-6-5","dir":"Changelog","previous_headings":"","what":"Breaking changes","title":"pillar 1.6.5","text":"New ctl_new_pillar_list(), supersedes ctl_new_compound_pillar() (#433).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-6-5","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.6.5","text":"sub-columns data frame matrix column shown, names types remaining columns displayed footer (#365, #444). num(fixed_exponent = ...) now represented fixed exponent pillar header, title ggplot2 (#307). tbl_format_setup() gains focus argument expects character vector column names. Focus columns moved front separated main columns subtle vertical line (#384). New scale_x_num() scale_y_num(). column created num() used ggplot, x y scale formatted automatically according specification (#400, #404). List columns omit size information horizontal space insufficient (#392). column title backticked column abbreviated, trailing backtick still printed (#391). new_pillar_shaft_simple() gains short_formatted argument contains data used horizontal space insufficient (#389). Default obj_sum() method returns abbreviation attribute return value (#390).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-6-5","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.6.5","text":"Extra columns footer show backticks non-syntactic (#393). Fixed cases combinations printed width getOption(\"width\") (#432). Fix support nanotime::nanotime() classes (#378, #380).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"documentation-1-6-5","dir":"Changelog","previous_headings":"","what":"Documentation","title":"pillar 1.6.5","text":"?num ?char now point tibble (#382).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-6-5","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.6.5","text":"Use eager registration via NAMESPACE methods classes packages. Reworked formatting routine, now using visitor-based approach -order iteration pillars. visible changes usage free space (case limited space) slightly improved (#435). Prepared removal dependency crayon package (#233, #406). Use snapshot variants, requires testthat >= 3.1.1 (#387). Replace internal \"pillar_vertical\" class glue::as_glue() (#279).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-164","dir":"Changelog","previous_headings":"","what":"pillar 1.6.4","title":"pillar 1.6.4","text":"CRAN release: 2021-10-18","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-6-4","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.6.4","text":"Fix printing tibbles fixed-width column followed column variable width (#366). Avoid nested backtick blocks vignette.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"breaking-changes-1-6-4","dir":"Changelog","previous_headings":"","what":"Breaking changes","title":"pillar 1.6.4","text":"num() requires integerish digits argument (#362).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"documentation-1-6-4","dir":"Changelog","previous_headings":"","what":"Documentation","title":"pillar 1.6.4","text":"Link tibble vignettes documentation pages.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-163","dir":"Changelog","previous_headings":"","what":"pillar 1.6.3","title":"pillar 1.6.3","text":"CRAN release: 2021-09-26 Avoid blanket import lifecycle package compatibility upcoming rlang (#368, @romainfrancois).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-162","dir":"Changelog","previous_headings":"","what":"pillar 1.6.2","title":"pillar 1.6.2","text":"CRAN release: 2021-07-29","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"options-1-6-2","dir":"Changelog","previous_headings":"","what":"Options","title":"pillar 1.6.2","text":"Options pillar.print_max, pillar.print_min, pillar.width pillar.max_extra_cols now queried corresponding tibble. dplyr. options consulted, latter soft-deprecated pillar v2.0.0 (#353). New pillar.bidi option. active, control characters inserted improve display data right--left text (#333). new pillar.max_footer_lines option (default: 7) allows controlling maximum number footer lines shown. applied addition existing tibble.max_extra_cols option (#263).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"formatting-1-6-2","dir":"Changelog","previous_headings":"","what":"Formatting","title":"pillar 1.6.2","text":"column doesn’t make use horizontal width offered , excess width distributed columns (#331). Improved allocation free space multi-tier tables getOption(\"tibble.width\") > getOption(\"width\") (#344). pillars shown true horizontal extent, irrespective indicated width. simplifies implementation custom pillar_shaft() methods (#347).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-6-2","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.6.2","text":"num() gains extra_sigfig argument automatically show significant figures numbers magnitude subtle differences (#97). print.tbl() format.tbl() support max_extra_cols max_footer_lines arguments override corresponding options (#360). print.tbl() format.tbl() maps now deprecated n_extra argument max_extra_cols consistency (#360).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-6-2","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.6.2","text":"Avoid mangling duplicate column names footer (#332). Fix warning zero type bit64::integer64() (#319).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"documentation-1-6-2","dir":"Changelog","previous_headings":"","what":"Documentation","title":"pillar 1.6.2","text":"package options now documented ?pillar_options (#339). obj_sum() longer calls type_sum() vectors since pillar v1.6.1, now documented (#321). Fix documentation usage vctrs::vec_proxy() vctrs::vec_restore() (#322).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-6-2","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.6.2","text":"Using attr(exact = TRUE) everywhere. is_vector_s3() longer generic (#181). Fix internal logic around vec_proxy() vec_restore() (#316).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-161","dir":"Changelog","previous_headings":"","what":"pillar 1.6.1","title":"pillar 1.6.1","text":"CRAN release: 2021-05-16 Bump required versions ellipsis vctrs avoid warning package load. obj_sum() longer includes shape twice (#315).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-160","dir":"Changelog","previous_headings":"","what":"pillar 1.6.0","title":"pillar 1.6.0","text":"CRAN release: 2021-04-13","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-6-0","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.6.0","text":"New num() char() offer flexible way customize display numeric character columns (#191, #84). New \"pillar.max_dec_width\" option (#308). New format_type_sum.AsIs() avoids need implement format_type_sum() method (#286). align() gains space argument control character used filling (#285). Numbers scientific decimal notation formatted rules regarding significant decimal digits (#297).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-6-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.6.0","text":"Load debugme package DEBUGME environment variable set. accurate detection decimal dot necessary, many digits show decimal dot (#298). Use display width instead number characters truncating character columns.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"documentation-1-6-0","dir":"Changelog","previous_headings":"","what":"Documentation","title":"pillar 1.6.0","text":"New vignette(\"numbers\") vignette(\"digits\") (#308).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-6-0","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.6.0","text":"Compatibility vctrs 0.3.7 (#291). format.pillar_shaft_simple() requires \"na\" attribute longer defaults pillar_na() (#273).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-151","dir":"Changelog","previous_headings":"","what":"pillar 1.5.1","title":"pillar 1.5.1","text":"CRAN release: 2021-03-05","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-5-1","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.5.1","text":"New format_glimpse() (#177).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-5-1","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.5.1","text":"Color formatting can now reliably turned setting \"cli.num_colors\" option 1 (#269).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"documentation-1-5-1","dir":"Changelog","previous_headings":"","what":"Documentation","title":"pillar 1.5.1","text":"Add examples new functions (#264). Fix lifecycle badges everywhere.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-150","dir":"Changelog","previous_headings":"","what":"pillar 1.5.0","title":"pillar 1.5.0","text":"CRAN release: 2021-02-22","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"breaking-changes-1-5-0","dir":"Changelog","previous_headings":"","what":"Breaking changes","title":"pillar 1.5.0","text":"obj_sum() now always returns string. pillar_shaft.list() iterates elements calls obj_sum() (#137). Breaking: print.pillar() print.pillar_ornament() now show first line (#227, #228). pillar re-licensed MIT (#215).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"extensibility-1-5-0","dir":"Changelog","previous_headings":"","what":"Extensibility","title":"pillar 1.5.0","text":"New size_sum() generic (#239). New ctl_new_pillar() ctl_new_compound_pillar() used via print.tbl(), format.tbl() tbl_format_setup.tbl() (#230). New new_pillar() low-level constructor (#230). New new_pillar_component() pillar_component() (#230). New articles vignette(\"extending\") vignette(\"printing\") (#251).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"formatting-1-5-0","dir":"Changelog","previous_headings":"","what":"Formatting","title":"pillar 1.5.0","text":"printing code moved tibble pillar (#179), including glimpse() (#234). concentrates printing code one package allows better extensibility. New experimental generics tbl_format_setup(), tbl_format_header(), tbl_format_body() tbl_format_footer() (#179). Move definition tbl_sum() package (#179). Improve formatting \"Surv\" \"Surv2\" classes survival package (#199). Vectors vctrs_unspecified() class formatted better (#256). Arrays now formatted showing first slice (#142). Avoid wrapping extra column names spaces (#254).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-5-0","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.5.0","text":"Now using debugme simplify understand complex control flow, see vignette(\"debugme\") (#248). New format.pillar_ornament() (#228). Using testthat 3e (#218). Avoid pillar.bold option tests (#216). Change internal storage format colonnade() extra_cols() (#204).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-147","dir":"Changelog","previous_headings":"","what":"pillar 1.4.7","title":"pillar 1.4.7","text":"CRAN release: 2020-11-20 Adapt changed environment CRAN’s Solaris machine.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-146","dir":"Changelog","previous_headings":"","what":"pillar 1.4.6","title":"pillar 1.4.6","text":"CRAN release: 2020-07-10 Restore compatibility R 3.2.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-145","dir":"Changelog","previous_headings":"","what":"pillar 1.4.5","title":"pillar 1.4.5","text":"CRAN release: 2020-07-09","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-4-5","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.4.5","text":"New pillar.min_chars option allows controlling minimum number characters shown character column (#178, @statsmaths). bit64::integer64() columns now formatted way numeric columns (#175). New align() support easy alignment strings within character vector (existing function exported @davidchall, #185).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"technical-1-4-5","dir":"Changelog","previous_headings":"","what":"Technical","title":"pillar 1.4.5","text":"pillar_shaft(), format_type_sum() extra_cols() issue warning dots unused. new_pillar_title() new_pillar_type() warn ... empty.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-4-5","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.4.5","text":"Use lifecycle package. Remove compatibility code R < 3.3.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-144","dir":"Changelog","previous_headings":"","what":"pillar 1.4.4","title":"pillar 1.4.4","text":"CRAN release: 2020-05-05 obj_sum() uses vctrs::vec_size() internally. is_vector_s3.default() soft-deprecated longer used. Please ensure vctrs::vec_is() TRUE class. Rely vctrs type abbreviations.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-143","dir":"Changelog","previous_headings":"","what":"pillar 1.4.3","title":"pillar 1.4.3","text":"CRAN release: 2019-12-20 new_pillar_shaft_simple() gains na argument control appearance NA values. String columns quoted least one value needs quotes (#171). Apply subtle style list_of columns (#172). Fix formatting mantissa close 1 (#174). Use .character() instead as_character(). Remove compatibility testthat < 2.0.0.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-142","dir":"Changelog","previous_headings":"","what":"pillar 1.4.2","title":"pillar 1.4.2","text":"CRAN release: 2019-06-29 List columns shown perceived dimensions, may different stored \"dim\" attribute. Regression introduced 1.4.0 (#167). Add ellipsis vec_ptype_abbr() method.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-141","dir":"Changelog","previous_headings":"","what":"pillar 1.4.1","title":"pillar 1.4.1","text":"CRAN release: 2019-05-28 careful specification minimum package versions dependencies (#165). Fix type_sum.vctrs_vctr() also led NOTE R CMD check. Resolve vec_is() runtime instead .onLoad() (#163, @lionel-). Implement methods vctrs objects.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-140","dir":"Changelog","previous_headings":"","what":"pillar 1.4.0","title":"pillar 1.4.0","text":"CRAN release: 2019-05-11","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"breaking-changes-1-4-0","dir":"Changelog","previous_headings":"","what":"Breaking changes","title":"pillar 1.4.0","text":"type_sum() forwards vctrs::vec_ptype_abbr() (#134). makes sure list_of columns (values type) properly displayed. value returned factor complex remains unchanged, change vctrs. class argument new_pillar_shaft() deprecates existing subclass argument. Passing subclass argument leads warning per session (#157).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"output-1-4-0","dir":"Changelog","previous_headings":"","what":"Output","title":"pillar 1.4.0","text":"Removed extra space pillars negative value lower magnitude largest positive value (example: -1 23). 0-col tibble matrix columns now formatted capital containing [,0] empty shaft (#149).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"performance-1-4-0","dir":"Changelog","previous_headings":"","what":"Performance","title":"pillar 1.4.0","text":"squeeze() now faster (width computation pillar_shaft.numeric() now uses arithmetics instead string concatenation). speedups may require implementation crucial parts C (#147). Styling output faster: expensive check availability colored output carried per call colonnade(), styling implemented manually (#133, @jimhester).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-4-0","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.4.0","text":"internal S3 classes pillar_ prefix (#156). check native output Windows, due subtle differences running Linux latin1 locale.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-131","dir":"Changelog","previous_headings":"","what":"pillar 1.3.1","title":"pillar 1.3.1","text":"CRAN release: 2018-12-15","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-3-1","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.3.1","text":"Fix --one error distribution empty space (#141).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"visible-changes-1-3-1","dir":"Changelog","previous_headings":"","what":"Visible changes","title":"pillar 1.3.1","text":"NA names longer escaped backticks. Don’t add quotes pillars formatted format() method (tidyverse/tibble#448).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-changes-1-3-1","dir":"Changelog","previous_headings":"","what":"Internal changes","title":"pillar 1.3.1","text":"Update base type abbrevs rlang 0.3.0 (#140, @lionel-). Tests work 256-color terminal (#129).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-130","dir":"Changelog","previous_headings":"","what":"pillar 1.3.0","title":"pillar 1.3.0","text":"CRAN release: 2018-07-14","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"visible-changes-1-3-0","dir":"Changelog","previous_headings":"","what":"Visible changes","title":"pillar 1.3.0","text":"Unknown data types formatted using format(), .character() (#120). Multi-tier colonnades can always fill last tier, even width isn’t proper multiple getOption(\"width\"). (Example: options(width = 80, tibble.width = 200) print wide tibble three tiers, 80 characters wide, total width 240 characters.) Fixed mixed formatting (showing pillars maximum, minimum width). pillar’s minimum width smaller getOption(\"width\"), shown nevertheless, abbreviated dots necessary.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"interface-changes-1-3-0","dir":"Changelog","previous_headings":"","what":"Interface changes","title":"pillar 1.3.0","text":"format_type_sum() gains width argument (#73).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"performance-improvements-1-3-0","dir":"Changelog","previous_headings":"","what":"Performance improvements","title":"pillar 1.3.0","text":"Printing large multi-tier colonnades much faster, code distributes pillars tiers uses much simpler much faster algorithm (tidyverse/tibble#422). Printing now faster overall, less work done formatting “subtle” style (gray fixed level), fansi::strip_sgr() used instead crayon::strip_style(). Slightly faster printing colonnades reusing intermediate result.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-3-0","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.3.0","text":"pillar() longer adds backticks title non-syntactic. colonnade() supports data frames matrices. printing, sub-column shown individually, using title resembles syntax used access . Also supports recursively nested data frames (data frame matrix columns). Added fuzz tests character colonnades varying widths. Use fansi::substr_ctl() favor crayon::col_substr().","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-123","dir":"Changelog","previous_headings":"","what":"pillar 1.2.3","title":"pillar 1.2.3","text":"CRAN release: 2018-05-25 Eliminate CRAN check warning undeclared withr dependency. defensive test address CRAN check failures Solaris. colonnade() now handles pillars named \"sep\" (#115). pillar_shaft.character() gains min_width argument.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-122","dir":"Changelog","previous_headings":"","what":"pillar 1.2.2","title":"pillar 1.2.2","text":"CRAN release: 2018-04-26 Whole numbers printed without decimal dot . Numbers result whole number divided power 10 (subject tolerance account floating-point imprecision) shown without trailing decimal zeros, even zeros significant according pillar.sigfig option (#105). New new_pillar_title() new_pillar_type() support consistent output glimpse() (#31). New format_type_sum() generic allows overriding formatting type summary capital (#73). digits.secs option respected computing width date-time values (#102).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-121","dir":"Changelog","previous_headings":"","what":"pillar 1.2.1","title":"pillar 1.2.1","text":"CRAN release: 2018-02-27","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"display-1-2-1","dir":"Changelog","previous_headings":"","what":"Display","title":"pillar 1.2.1","text":"Turned using subtle style digits considered insignificant. Negative numbers shown red. Set new option pillar.subtle_num TRUE turn (default: FALSE). negation sign printed next number (#91). Scientific notation uses regular digits exponents (#90). Groups three digits now underlined, starting fourth /decimal point. gives better idea order magnitude numbers (#78). Logical columns displayed TRUE FALSE (#95). decimal dot now always printed numbers type numeric. Trailing zeros shown anymore displayed numbers whole numbers (#62). Decimal values longer 13 characters always print scientific notation.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-2-1","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.2.1","text":"Numeric values \"class\" attribute (e.g., Duration lubridate) now formatted using format() pillar_shaft() method implemented class (#88). small numbers (like 1e-310) now printed correctly (tidyverse/tibble#377). Fix representation right-hand side getOption(\"pillar.sigfig\") >= 6 (tidyverse/tibble#380). Fix computation significant figures numbers absolute value >= 1 (#98).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"new-functions-1-2-1","dir":"Changelog","previous_headings":"","what":"New functions","title":"pillar 1.2.1","text":"New styling helper style_subtle_num(), formatting depends pillar.subtle_num option.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-110","dir":"Changelog","previous_headings":"","what":"pillar 1.1.0","title":"pillar 1.1.0","text":"CRAN release: 2018-01-14 NA values now shown plain red, without changing background color (#70). pillar.sigfig control number significant digits, highlighting truncation (#72), pillar.subtle specify insignificant digits printed gray (#72), pillar.neg specify negative digits printed red, pillar.bold specify column headers printed bold (default: FALSE, #76), pillar.min_title_chars specify minimum number characters display column name (default: 15 characters, #75). Shortened abbreviations types: complex: cplx -> cpl, function: fun -> fn, factor: fctr -> fct (#71). Date columns now show sub-seconds digits.secs option set (#74). wide tibbles now print faster (#85).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-101","dir":"Changelog","previous_headings":"","what":"pillar 1.0.1","title":"pillar 1.0.1","text":"CRAN release: 2017-11-27 Work around failing CRAN tests Windows.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-100","dir":"Changelog","previous_headings":"","what":"pillar 1.0.0","title":"pillar 1.0.0","text":"CRAN release: 2017-11-20 Initial release.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"user-functions-1-0-0","dir":"Changelog","previous_headings":"","what":"User functions","title":"pillar 1.0.0","text":"","code":"pillar(x, title = NULL, width = NULL, ...) colonnade(x, has_row_id = TRUE, width = NULL, ...) squeeze(x, width = NULL, ...)"},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"functions-for-implementers-of-data-types-1-0-0","dir":"Changelog","previous_headings":"","what":"Functions for implementers of data types","title":"pillar 1.0.0","text":"","code":"new_pillar_shaft_simple(formatted, ..., width = NULL, align = \"left\", min_width = NULL, na_indent = 0L) new_pillar_shaft(x, ..., width, min_width = width, subclass) new_ornament(x, width = NULL, align = NULL) get_extent(x) get_max_extent(x)"},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"utilities-1-0-0","dir":"Changelog","previous_headings":"","what":"Utilities","title":"pillar 1.0.0","text":"","code":"dim_desc(x) style_na(x) style_neg(x) style_num(x, negative, significant = rep_along(x, TRUE)) style_subtle(x)"},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"testing-helper-1-0-0","dir":"Changelog","previous_headings":"","what":"Testing helper","title":"pillar 1.0.0","text":"","code":"expect_known_display(object, file, ..., width = 80L, crayon = TRUE)"},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"own-s3-methods-1-0-0","dir":"Changelog","previous_headings":"","what":"Own S3 methods","title":"pillar 1.0.0","text":"","code":"pillar_shaft(x, ...) # AsIs, Date, POSIXt, character, default, list, logical, numeric type_sum(x) # AsIs, Date, POSIXct, data.frame, default, difftime, factor, ordered is_vector_s3(x) # Date, POSIXct, data.frame, default, difftime, factor, ordered obj_sum(x) # AsIs, POSIXlt, default, list extra_cols(x, ...) # squeezed_colonnade"}] +[{"path":"https://pillar.r-lib.org/dev/CODE_OF_CONDUCT.html","id":null,"dir":"","previous_headings":"","what":"Contributor Code of Conduct","title":"Contributor Code of Conduct","text":"contributors maintainers project, pledge respect people contribute reporting issues, posting feature requests, updating documentation, submitting pull requests patches, activities. committed making participation project harassment-free experience everyone, regardless level experience, gender, gender identity expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion. Examples unacceptable behavior participants include use sexual language imagery, derogatory comments personal attacks, trolling, public private harassment, insults, unprofessional conduct. Project maintainers right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct. Project maintainers follow Code Conduct may removed project team. Instances abusive, harassing, otherwise unacceptable behavior may reported opening issue contacting one project maintainers. Code Conduct adapted Contributor Covenant (http://contributor-covenant.org), version 1.0.0, available http://contributor-covenant.org/version/1/0/0/","code":""},{"path":"https://pillar.r-lib.org/dev/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2020 pillar authors Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":[]},{"path":"https://pillar.r-lib.org/dev/articles/extending.html","id":"tweak-header","dir":"Articles","previous_headings":"Header","what":"Tweak header","title":"Custom formatting","text":"easiest customization consists tweaking header. Implement tbl_sum() method extend replace information shown header, keeping original formatting.","code":"tbl_sum.default_header_extend <- function(x, ...) { default_header <- NextMethod() c(default_header, \"New\" = \"A new header\") } example_tbl(\"default_header_extend\") #> # A data frame: 3 × 2 #> # New: A new header #> a b$c $d #> #> 1 a 1 4.5 #> 2 b 2 5.5 #> 3 c 3 6.5 tbl_sum.default_header_replace <- function(x, ...) { c(\"Override\" = \"Replace all headers\") } example_tbl(\"default_header_replace\") #> # Override: Replace all headers #> a b$c $d #> #> 1 a 1 4.5 #> 2 b 2 5.5 #> 3 c 3 6.5"},{"path":"https://pillar.r-lib.org/dev/articles/extending.html","id":"restyle-header","dir":"Articles","previous_headings":"Header","what":"Restyle header","title":"Custom formatting","text":"style header different way, implement tbl_format_header() method. implementation responsible entire formatting styling, including leading hash.","code":"tbl_format_header.custom_header_replace <- function(x, setup, ...) { cli::style_italic(names(setup$tbl_sum), \" = \", setup$tbl_sum) } example_tbl(\"custom_header_replace\") #> A data frame = 3 × 2 #> a b$c $d #> #> 1 a 1 4.5 #> 2 b 2 5.5 #> 3 c 3 6.5"},{"path":[]},{"path":"https://pillar.r-lib.org/dev/articles/extending.html","id":"restyle-footer","dir":"Articles","previous_headings":"Footer","what":"Restyle footer","title":"Custom formatting","text":"Similarly, add information footer, replace entirely, implement tbl_format_footer() method. , tbl_format_*() methods, can use information contained setup object, see ?new_tbl_format_setup available fields. , implementation responsible entire formatting styling, including leading hash needed.","code":"tbl_format_footer.custom_footer_extend <- function(x, setup, ...) { default_footer <- NextMethod() extra_info <- \"and with extra info in the footer\" extra_footer <- style_subtle(paste0(\"# \", cli::symbol$ellipsis, \" \", extra_info)) c(default_footer, extra_footer) } print(example_tbl(\"custom_footer_extend\"), n = 2) #> # A data frame: 3 × 2 #> a b$c $d #> #> 1 a 1 4.5 #> 2 b 2 5.5 #> # ℹ 1 more row #> # … and with extra info in the footer tbl_format_footer.custom_footer_replace <- function(x, setup, ...) { paste0(\"The table has \", setup$rows_total, \" rows in total.\") } print(example_tbl(\"custom_footer_replace\"), n = 2) #> # A data frame: 3 × 2 #> a b$c $d #> #> 1 a 1 4.5 #> 2 b 2 5.5 #> The table has 3 rows in total."},{"path":"https://pillar.r-lib.org/dev/articles/extending.html","id":"compute-additional-info-beforehand","dir":"Articles","previous_headings":"Footer","what":"Compute additional info beforehand","title":"Custom formatting","text":"information needs displayed several parts (e.g., header footer), useful compute tbl_format_setup() store setup object. New elements may added setup object, existing elements overwritten. Exception: tbl_sum element contains output tbl_sum() can enhanced additional elements.","code":"tbl_format_setup.extra_info <- function(x, width, ...) { setup <- NextMethod() cells <- prod(dim(x)) setup$cells <- cells setup$tbl_sum <- c(setup$tbl_sum, \"Cells\" = as.character(cells)) setup } tbl_format_footer.extra_info <- function(x, setup, ...) { paste0(\"The table has \", setup$cells, \" cells in total.\") } example_tbl(\"extra_info\") #> # A data frame: 3 × 2 #> # Cells: 6 #> a b$c $d #> #> 1 a 1 4.5 #> 2 b 2 5.5 #> 3 c 3 6.5 #> The table has 6 cells in total."},{"path":"https://pillar.r-lib.org/dev/articles/extending.html","id":"row-ids","dir":"Articles","previous_headings":"","what":"Row IDs","title":"Custom formatting","text":"implementing generic ctl_new_rowid_pillar(), printing row ID column can customized. order print Roman instead Arabic numerals, one use utils::.roman() generate corresponding sequence build row ID pillar using new_pillar() associated methods introduced previously.","code":"ctl_new_rowid_pillar.pillar_roman <- function(controller, x, width, ...) { out <- NextMethod() rowid <- utils::as.roman(seq_len(nrow(x))) width <- max(nchar(as.character(rowid))) new_pillar( list( title = out$title, type = out$type, data = pillar_component( new_pillar_shaft(list(row_ids = rowid), width = width, class = \"pillar_rif_shaft\" ) ) ), width = width ) } example_tbl(\"pillar_roman\") #> # A data frame: 3 × 2 #> a b$c $d #> #> I a 1 4.5 #> II b 2 5.5 #> III c 3 6.5"},{"path":[]},{"path":"https://pillar.r-lib.org/dev/articles/extending.html","id":"tweak-pillar-composition","dir":"Articles","previous_headings":"Body","what":"Tweak pillar composition","title":"Custom formatting","text":"Pillars consist components, see ?new_pillar_component details. Extend override ctl_new_pillar() method alter appearance. example adds table rules constant width output. make width adaptive, implement \"rule\" class format() method formats rules prespecified widths.","code":"ctl_new_pillar.pillar_rule <- function(controller, x, width, ..., title = NULL) { out <- NextMethod() new_pillar(list( top_rule = new_pillar_component(list(\"========\"), width = 8), title = out$title, type = out$type, mid_rule = new_pillar_component(list(\"--------\"), width = 8), data = out$data, bottom_rule = new_pillar_component(list(\"========\"), width = 8) )) } example_tbl(\"pillar_rule\") #> # A data frame: 3 × 2 #> ======== ======== ======== #> a b$c $d #> #> -------- -------- -------- #> 1 a 1 4.5 #> 2 b 2 5.5 #> 3 c 3 6.5 #> ======== ======== ======== rule <- function(char = \"-\") { stopifnot(nchar(char) == 1) structure(char, class = \"rule\") } format.rule <- function(x, width, ...) { paste(rep(x, width), collapse = \"\") } ctl_new_pillar.pillar_rule_adaptive <- function(controller, x, width, ..., title = NULL) { out <- NextMethod() if (is.null(out)) { return(NULL) } new_pillar(list( top_rule = new_pillar_component(list(rule(\"=\")), width = 1), title = out$title, type = out$type, mid_rule = new_pillar_component(list(rule(\"-\")), width = 1), data = out$data, bottom_rule = new_pillar_component(list(rule(\"=\")), width = 1) )) } example_tbl(\"pillar_rule_adaptive\") #> # A data frame: 3 × 2 #> = = = #> a b$c $d #> #> - - - #> 1 a 1 4.5 #> 2 b 2 5.5 #> 3 c 3 6.5 #> = = ="},{"path":"https://pillar.r-lib.org/dev/articles/extending.html","id":"tweak-display-of-compound-pillars","dir":"Articles","previous_headings":"Body","what":"Tweak display of compound pillars","title":"Custom formatting","text":"Compound pillars created ctl_new_pillar_list() columns contain data frame, matrix array. default implementation also calls ctl_new_pillar() shown . (somewhat artificial) example hides data frame columns column type \"\".","code":"ctl_new_pillar_list.hide_df <- function(controller, x, width, ..., title = NULL) { if (!is.data.frame(x)) { return(NextMethod()) } if (width < 8) { return(NULL) } list(new_pillar( list( title = pillar_component(new_pillar_title(title)), type = new_pillar_component(list(\"\"), width = 8), data = new_pillar_component(list(\"\"), width = 1) ), width = 8 )) } example_tbl(\"hide_df\") #> # A data frame: 3 × 2 #> #> #> 1 #> 2 #> 3 "},{"path":"https://pillar.r-lib.org/dev/articles/extending.html","id":"restyle-body","dir":"Articles","previous_headings":"Body","what":"Restyle body","title":"Custom formatting","text":"Last least, also possible completely alter display body overriding tbl_format_body(). example uses plain data frame output tibble. Note default printed output computed tbl_format_setup(), takes considerable amount time. really need change output entire body, consider providing tbl_format_setup() method.","code":"tbl_format_body.oldskool <- function(x, setup, ...) { capture.output(print.data.frame(setup$df)) } print(example_tbl(\"oldskool\"), n = 2) #> # A data frame: 3 × 2 #> a b.c b.d #> 1 a 1 4.5 #> 2 b 2 5.5 #> # ℹ 1 more row"},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"requirements","dir":"Articles","previous_headings":"","what":"Requirements","title":"Printing a tibble: Control and data flow","text":"Fit pre-specified width, distributing across multiple tiers necessary Optionally shrink stretch individual columns Header, body footer tibble Avoid recomputation information Custom components pillars tibble, top-aligned container, column vectors, determine appearance Customization entire output pillars Support data frame columns (packed data frames) matrix/array columns Pillars always shown left right, “holes” colonnade first column consumes available space, remaining columns shown, even fit first column omitted. Printing pillars take time proportional number characters printed, “fast enough”.","code":""},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"overview","dir":"Articles","previous_headings":"","what":"Overview","title":"Printing a tibble: Control and data flow","text":"overall control data flow illustrated diagram . Boxes functions methods. Solid lines function calls. Dotted lines represent information function obtains via argument (case options) queries actively. pillar package uses debugme debugging. Activating debugging pillar another way track control flow, see vignette(\"debugme\") details.","code":""},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"initialization","dir":"Articles","previous_headings":"","what":"Initialization","title":"Printing a tibble: Control and data flow","text":"tibble list columns class \"tbl_df\" \"tbl\". Printing designed work non-data-frame table-like objects lazy tables. print.tbl() method calls format() object prints output. format.tbl() method creates setup object, uses object format header, body footer. ’s possible extend override methods \"tbl\" subclass, often overriding specialized methods shown sufficient.","code":"tbl <- tibble::tibble(a = 1:3, b = tibble::tibble(c = 4:6, d = 7:9), e = 10:12) print(tbl, width = 23) #> # A tibble: 3 × 3 #> a b$c e #> #> 1 1 4 10 #> 2 2 5 11 #> 3 3 6 12 #> # ℹ 1 more variable: #> # b$d str(tbl) #> tibble [3 × 3] (S3: tbl_df/tbl/data.frame) #> $ a: int [1:3] 1 2 3 #> $ b: tibble [3 × 2] (S3: tbl_df/tbl/data.frame) #> ..$ c: int [1:3] 4 5 6 #> ..$ d: int [1:3] 7 8 9 #> $ e: int [1:3] 10 11 12 print.tbl <- function(x, width = NULL, ..., n = NULL, max_extra_cols = NULL, max_footer_lines = NULL) { print_tbl( x, width, ..., n = n, max_extra_cols = max_extra_cols, max_footer_lines = max_footer_lines ) } format.tbl <- function(x, width = NULL, ..., n = NULL, max_extra_cols = NULL, max_footer_lines = NULL) { format_tbl( x, width, ..., n = n, max_extra_cols = max_extra_cols, max_footer_lines = max_footer_lines ) }"},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"setup","dir":"Articles","previous_headings":"","what":"Setup","title":"Printing a tibble: Control and data flow","text":"work formatting actually happens tbl_format_setup(). desired output width baked setup object must available calling. Setup objects print like tibble clear separation header, body, footer. setup object required avoid computing information twice. instance, dimensions shown header extra columns displayed footer available body computed. generic dispatches container, can override necessary. responsible assigning default values arguments passing method. default implementation converts input data frame via .data.frame(head(x)), returns object constructed new_tbl_format_setup() contains data frame additional information. override method, e.g. incorporate information, can add new items default setup object, overwrite existing items. core, internal function ctl_colonnade() composes body. functionality customization points offers detailed “Colonnade” section .","code":"setup <- tbl_format_setup(tbl, width = 24) setup #> #> #> # A tibble: 3 × 3 #> #> a b$c e #> #> 1 1 4 10 #> 2 2 5 11 #> 3 3 6 12 #> #> # ℹ 1 more variable: #> # b$d tbl_format_setup <- function( x, width = NULL, ..., setup = list(tbl_sum = tbl_sum(x)), n = NULL, max_extra_cols = NULL, max_footer_lines = NULL, focus = NULL ) { \"!!!!DEBUG tbl_format_setup()\" width <- get_width_print(width) n <- get_n_print(n, tbl_nrow(x)) max_extra_cols <- get_max_extra_cols(max_extra_cols) max_footer_lines <- get_max_footer_lines(max_footer_lines) # Calls UseMethod(\"tbl_format_setup\"), # allows using default values in S3 dispatch out <- tbl_format_setup_dispatch( x, width, ..., setup = setup, n = n, max_extra_cols = max_extra_cols, max_footer_lines = max_footer_lines, focus = focus ) return(out) UseMethod(\"tbl_format_setup\") } tbl_format_setup.tbl <- function( x, width, ..., setup, n, max_extra_cols, max_footer_lines, focus ) { \"!!!!DEBUG tbl_format_setup.tbl()\" if (is.null(setup)) { # Header with early exit tbl_sum <- tbl_sum(x) return(new_tbl_format_setup(width, tbl_sum, rows_total = NA_integer_)) } else { tbl_sum <- setup$tbl_sum } # Number of rows rows <- tbl_nrow(x) lazy <- is.na(rows) if (lazy) { df <- as.data.frame(head(x, n + 1)) if (nrow(df) <= n) { rows <- nrow(df) } else { df <- vec_head(df, n) } } else { df <- df_head(x, n) } if (is.na(rows)) { # Lazy table with too many rows needs_dots <- (nrow(df) >= n) } else { # Lazy table with few rows, or regular data frame needs_dots <- (rows > n) } if (needs_dots) { rows_missing <- rows - n } else { rows_missing <- 0L } # Body rownames(df) <- NULL colonnade <- ctl_colonnade( df, has_row_id = if (!lazy && .row_names_info(x) > 0) \"*\" else TRUE, width = width, controller = x, focus = focus ) body <- colonnade$body # Extra columns extra_cols <- colonnade$extra_cols extra_cols_total <- length(extra_cols) if (extra_cols_total > max_extra_cols) { length(extra_cols) <- max_extra_cols } # Abbreviated columns abbrev_cols <- colonnade$abbrev_cols # Result new_tbl_format_setup( x = x, df = df, width = width, tbl_sum = tbl_sum, body = body, rows_missing = rows_missing, rows_total = rows, extra_cols = extra_cols, extra_cols_total = extra_cols_total, max_footer_lines = max_footer_lines, abbrev_cols = abbrev_cols ) }"},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"header-body-footer","dir":"Articles","previous_headings":"","what":"Header, body, footer","title":"Printing a tibble: Control and data flow","text":"components tibble formatted tbl_format_*() generics, also dispatch container allow extension overrides. return character vector, one element per line printed. setup object required. (body returned classed object print() method, still character() hood.) Since work already carried tbl_format_setup(), default implementations mostly consist code styles wraps output.","code":"tbl_format_header(tbl, setup) #> [1] \"\\033[38;5;246m# A tibble: 3 × 3\\033[39m\" tbl_format_body(tbl, setup) #> a b$c e #> #> 1 1 4 10 #> 2 2 5 11 #> 3 3 6 12 tbl_format_footer(tbl, setup) #> [1] \"\\033[38;5;246m# ℹ 1 more variable:\\033[39m\" #> [2] \"\\033[38;5;246m# b$d \\033[39m\" class(tbl_format_body(tbl, setup)) #> [1] \"glue\" \"character\" typeof(tbl_format_body(tbl, setup)) #> [1] \"character\" tbl_format_header.tbl <- function(x, setup, ...) { named_header <- setup$tbl_sum focus <- attr(x, \"pillar_focus\") if (!is.null(focus)) { named_header <- c(named_header, \"Focus columns\" = collapse(tick_if_needed(focus))) } if (all(names2(named_header) == \"\")) { header <- named_header } else { header <- paste0( align(paste0(names2(named_header), \":\"), space = NBSP), # We add a space after the NBSP inserted by align() # so that wrapping occurs at the right location for very narrow outputs \" \", named_header ) } style_subtle(format_comment(header, width = setup$width)) } tbl_format_body.tbl <- function(x, setup, ...) { force(setup) setup$body } tbl_format_footer.tbl <- function(x, setup, ...) { footer <- format_footer(x, setup) footer_comment <- wrap_footer_bullet(footer, setup) footer_advice <- format_footer_advice(x, setup) footer_advice_comment <- wrap_footer_bullet( footer_advice, setup, lines = 1, ellipsis = FALSE, bullet = symbol$info ) style_subtle(c(footer_comment, footer_advice_comment)) }"},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"colonnade","dir":"Articles","previous_headings":"","what":"Colonnade","title":"Printing a tibble: Control and data flow","text":"internal function ctl_colonnade() composes body. performs following tasks: Create pillar object every top-level column fits, using minimum width, via ctl_new_pillar_list(), ctl_new_pillar() ultimately pillar() pillar_shaft() Determine number tiers width tier Distribute pillars across tiers, assigning width pillar. Format pillar via format() function, passing now known width. Combine formatted pillars horizontally. Combine tiers vertically. Return formatted body, columns fit. following, first fourth steps discussed.","code":""},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"creating-pillar-objects","dir":"Articles","previous_headings":"","what":"Creating pillar objects","title":"Printing a tibble: Control and data flow","text":"initial tibble passed ctl_new_pillar_list(), eventually calls ctl_new_pillar() several times. top-level column, one pillar object constructed. loop terminated available width exhausted even considering minimum width.","code":""},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"pillar-lists","dir":"Articles","previous_headings":"Creating pillar objects","what":"Pillar lists","title":"Printing a tibble: Control and data flow","text":"ctl_new_pillar_list() generic dispatches container: tibble, column can data frame, matrix, even array , columns called compound columns. columns decomposed sub-pillars returned list pillars. Regular vectors forwarded ctl_new_pillar() returned list length one. Implementers \"tbl\" subclasses rarely ever need extend override method.","code":"ctl_new_pillar_list(tbl, tbl$a, width = 20) #> [[1]] #> #> #> 1 #> 2 #> 3 #> #> attr(,\"remaining_width\") #> [1] 14 #> attr(,\"simple\") #> [1] TRUE ctl_new_pillar_list(tbl, tbl$b, width = 20) #> [[1]] #> #> c #> #> 4 #> 5 #> 6 #> #> [[2]] #> #> d #> #> 7 #> 8 #> 9 #> #> attr(,\"extra\") #> character(0) #> attr(,\"remaining_width\") #> [1] 8 #> attr(,\"simple\") #> [1] FALSE ctl_new_pillar_list.tbl <- function(controller, x, width, ..., title = NULL, first_pillar = NULL) { \"!!!!DEBUG ctl_new_pillar_list.tbl(`v(width)`, `v(title)`)\" if (is.data.frame(x)) { new_data_frame_pillar_list(x, controller, width, title = title, first_pillar = first_pillar) } else if (is.matrix(x) && !inherits(x, c(\"Surv\", \"Surv2\"))) { new_matrix_pillar_list(x, controller, width, title = title, first_pillar = first_pillar) } else if (is.array(x) && length(dim(x)) > 2) { new_array_pillar_list(x, controller, width, title = title, first_pillar = first_pillar) } else { if (is.null(first_pillar)) { first_pillar <- ctl_new_pillar(controller, x, width, ..., title = prepare_title(title)) } new_single_pillar_list(first_pillar, width) } }"},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"simple-pillars","dir":"Articles","previous_headings":"Creating pillar objects","what":"Simple pillars","title":"Printing a tibble: Control and data flow","text":"ctl_new_pillar() method called columns data frames arrays, also dispatches container. default method calls pillar() directly, passing maximum width available. Formatting title type provided new_pillar_title() new_pillar_type(). body can customized implementing pillar_shaft() vector class, see vignette(\"pillar\", package = \"vctrs\") details. title type don’t fit available width, pillar_shaft() never called. function now returns NULL width insufficient contain data. possible change appearance pillars overriding extending ctl_new_pillar().","code":"ctl_new_pillar(tbl, tbl$a, width = 20) #> #> #> 1 #> 2 #> 3 ctl_new_pillar.tbl <- function(controller, x, width, ..., title = NULL) { \"!!!!DEBUG ctl_new_pillar.tbl(`v(width)`, `v(title)`)\" pillar(x, title, if (!is.null(width)) max0(width)) } pillar <- function(x, title = NULL, width = NULL, ...) { \"!!!!DEBUG pillar(`v(class(x))`, `v(title)`, `v(width)`)\" pillar_from_shaft( new_pillar_title(title), new_pillar_type(x), pillar_shaft(x, ...), width ) }"},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"components","dir":"Articles","previous_headings":"Creating pillar objects","what":"Components","title":"Printing a tibble: Control and data flow","text":"Pillar objects share structure ultimately constructed new_pillar(). pillar stored list components. pillar represents one simple (atomic) column, compound columns always represented multiple pillar objects.","code":"new_pillar <- function(components, ..., width = NULL, class = NULL, extra = deprecated()) { \"!!!!DEBUG new_pillar(`v(width)`, `v(class)`)\" if (is_present(extra)) { # Signal the deprecation to the user deprecate_warn(\"1.7.0\", \"pillar::new_pillar(extra = )\") } check_dots_empty() if (length(components) > 0 && !is_named(components)) { abort(\"All components must have names.\") } structure( components, width = width, class = c(class, \"pillar\") ) }"},{"path":"https://pillar.r-lib.org/dev/articles/printing.html","id":"formatting-pillars","dir":"Articles","previous_headings":"","what":"Formatting pillars","title":"Printing a tibble: Control and data flow","text":"pillar object constructed, minimum desired (maximum) width. depends number width pillar objects may even constructed, final width known yet. passed format(), uses desired width empty:","code":"format.pillar <- function(x, width = NULL, ...) { if (is.null(width)) { width <- get_width(x) } if (is.null(width)) { width <- pillar_get_width(x) } as_glue(pillar_format_parts_2(x, width)$aligned) }"},{"path":"https://pillar.r-lib.org/dev/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Kirill Müller. Author, maintainer. Hadley Wickham. Author. . Copyright holder.","code":""},{"path":"https://pillar.r-lib.org/dev/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Müller K, Wickham H (2024). pillar: Coloured Formatting Columns. R package version 1.9.99.9900, https://github.com/r-lib/pillar, https://pillar.r-lib.org/.","code":"@Manual{, title = {pillar: Coloured Formatting for Columns}, author = {Kirill Müller and Hadley Wickham}, year = {2024}, note = {R package version 1.9.99.9900, https://github.com/r-lib/pillar}, url = {https://pillar.r-lib.org/}, }"},{"path":"https://pillar.r-lib.org/dev/index.html","id":"pillar","dir":"","previous_headings":"","what":"Coloured Formatting for Columns","title":"Coloured Formatting for Columns","text":"pillar provides tools styling columns data, artfully using colour unicode characters guide eye.","code":""},{"path":"https://pillar.r-lib.org/dev/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Coloured Formatting for Columns","text":"","code":"# pillar is installed if you install the tidyverse package: install.packages(\"tidyverse\") # Alternatively, install just pillar: install.packages(\"pillar\")"},{"path":"https://pillar.r-lib.org/dev/index.html","id":"usage","dir":"","previous_headings":"","what":"Usage","title":"Coloured Formatting for Columns","text":"pillar developer-facing package designed end-users. powers print() format() methods tibbles. also defines generics helpers useful package authors create custom vector classes (see https://github.com/krlmlr/awesome-vctrs#readme examples) custom table classes (like dbplyr sf).","code":"library(pillar) x <- 123456789 * (10^c(-3, -5, NA, -8, -10)) pillar(x) #> #> #> 123457. #> 1235. #> NA #> 1.23 #> 0.0123 tbl_format_setup(tibble::tibble(x)) #> #> #> # A tibble: 5 × 1 #> #> x #> #> 1 123457. #> 2 1235. #> 3 NA #> 4 1.23 #> 5 0.0123 #> "},{"path":"https://pillar.r-lib.org/dev/index.html","id":"custom-vector-classes","dir":"","previous_headings":"","what":"Custom vector classes","title":"Coloured Formatting for Columns","text":"primary user package tibble, lets pillar formatting work. Packages implement data type used tibble column can customize display implementing pillar_shaft() method. See vignette(\"pillar\", package = \"vctrs\") details.","code":"library(pillar) percent <- vctrs::new_vctr(9:11 * 0.01, class = \"percent\") pillar_shaft.percent <- function(x, ...) { fmt <- format(vctrs::vec_data(x) * 100) new_pillar_shaft_simple(paste0(fmt, \" \", style_subtle(\"%\")), align = \"right\") } pillar(percent) #> #> #> 9 % #> 10 % #> 11 %"},{"path":"https://pillar.r-lib.org/dev/index.html","id":"custom-table-classes","dir":"","previous_headings":"","what":"Custom table classes","title":"Coloured Formatting for Columns","text":"pillar provides various extension points customizing tibble-like class printed. See vignette(\"extending\", package = \"pillar\") walkthrough options.","code":"tbl <- vctrs::new_data_frame(list(a = 1:3), class = c(\"my_tbl\", \"tbl\")) tbl_sum.my_tbl <- function(x, ...) { c(\"Hello\" = \"world!\") } tbl #> # Hello: world! #> a #> #> 1 1 #> 2 2 #> 3 3"},{"path":"https://pillar.r-lib.org/dev/index.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Coloured Formatting for Columns","text":"Please note pillar project released Contributor Code Conduct. contributing project, agree abide terms.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/align.html","id":null,"dir":"Reference","previous_headings":"","what":"Alignment helper — align","title":"Alignment helper — align","text":"Facilitates easy alignment strings within character vector. Designed help implementers formatters custom data types.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/align.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Alignment helper — align","text":"","code":"align(x, width = NULL, align = c(\"left\", \"right\"), space = \" \")"},{"path":"https://pillar.r-lib.org/dev/reference/align.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Alignment helper — align","text":"x character vector width width string padded . NULL, maximum display width character vector used (see get_max_extent()). align strings aligned? align = left padding appears right, vice versa. space character used padding?","code":""},{"path":"https://pillar.r-lib.org/dev/reference/align.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Alignment helper — align","text":"","code":"align(c(\"abc\", \"de\"), align = \"left\") #> [1] \"abc\" \"de \" align(c(\"abc\", \"de\"), align = \"right\") #> [1] \"abc\" \" de\""},{"path":"https://pillar.r-lib.org/dev/reference/char.html","id":null,"dir":"Reference","previous_headings":"","what":"Format a character vector in a tibble — char","title":"Format a character vector in a tibble — char","text":"functions reexported tibble::char() tibble::set_char_opts().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/char.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format a character vector in a tibble — char","text":"","code":"char( x, ..., min_chars = NULL, shorten = c(\"back\", \"front\", \"mid\", \"abbreviate\") ) set_char_opts( x, ..., min_chars = NULL, shorten = c(\"back\", \"front\", \"mid\", \"abbreviate\") )"},{"path":"https://pillar.r-lib.org/dev/reference/colonnade.html","id":null,"dir":"Reference","previous_headings":"","what":"Format multiple vectors in a tabular display — colonnade","title":"Format multiple vectors in a tabular display — colonnade","text":"vectors formatted fit horizontally user-supplied number characters per row. colonnade() function process input returns object format() print() method. implementations call squeeze() create pillar objects fit given width.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/colonnade.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format multiple vectors in a tabular display — colonnade","text":"","code":"colonnade(x, has_row_id = TRUE, width = NULL, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/colonnade.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format multiple vectors in a tabular display — colonnade","text":"x list, can contain matrices data frames. named, names used title pillars. Non-syntactic names escaped. has_row_id Include column indicating row IDs? Pass \"*\" mark row ID column star. width Default width entire output, optional. ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/colonnade.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Format multiple vectors in a tabular display — colonnade","text":"Pillars may distributed multiple tiers width > getOption(\"width\"). case tier getOption(\"width\") characters wide. first step formatting determine many tiers shown , width tier. avoid unnecessary computation showing wide colonnades, first pass tries fit capitals tiers. pillar whose capital fits, decided tier shown, , much horizontal space may use (either minimum maximum width). Remaining space distributed proportionally pillars use desired width. fitting pillars one tiers, first check made pillars fit maximum width (e.g., option(tibble.width = Inf) narrow colonnade). yes, resulting fit, work needs done. Otherwise, maximum width wide, test carried minimum width. still wide, resulting fit. Otherwise, tiers start contain pillars maximum width, one tier contain pillars maximum minimum width, remaining tiers contain pillars minimum width . , compute \"reverse minimum assignment\". determine cut point minimum maximum assignment agree. following strategy applied: First, determine tier cut point lies. first instance column ends tier minimum maximum assignment. set candidate cut points derived. consult column offsets. last column minimum assignment greater equal offset maximum assignment latest cut point. column exists, cut point column just first candidate. Finally, combine maximum minimum reverse fits cut point. need redistribute anything . Fitting pillars tiers similar word-wrapping algorithm. loop, new tiers opened current tier overflows. column wide fit single tier, never displayed, colonnade truncated . case never occur reasonable display widths larger 30 characters. Truncation also happens available tiers filled. remaining space distributed left right. column gains space proportional fraction missing remaining space, rounded . space remaining rounding distributed left right, one space per column.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar.html","id":null,"dir":"Reference","previous_headings":"","what":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","title":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","text":"Gain full control appearance pillars tibble subclass body. method intended implementers subclasses \"tbl\" class. Users rarely need .","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","text":"","code":"ctl_new_pillar(controller, x, width, ..., title = NULL) ctl_new_rowid_pillar(controller, x, width, ..., title = NULL, type = NULL)"},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","text":"controller object class \"tbl\" currently printed. x simple (one-dimensional) vector. width available width, can vector multiple tiers. ... dots future extensions must empty. title title, derived name column data. type String specifying row ID type. Current values use NULL \"*\".","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","text":"ctl_new_pillar() called construct pillars regular (one-dimensional) vectors. default implementation returns object constructed pillar(). Extend method modify pillar components returned default implementation. Override method completely change appearance pillars. Components created new_pillar_component() pillar_component(). order customize printing row IDs, method can supplied ctl_new_rowid_pillar() generic. components must height. restriction may levied future. Implementations return NULL none data fits available width.","code":""},{"path":[]},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","text":"","code":"# Create pillar objects ctl_new_pillar( palmerpenguins::penguins, palmerpenguins::penguins$species[1:3], width = 60 ) #> #> #> Adelie #> Adelie #> Adelie ctl_new_pillar( palmerpenguins::penguins, palmerpenguins::penguins$bill_length_mm[1:3], width = 60 ) #> #> #> 39.1 #> 39.5 #> 40.3 # Customize output lines <- function(char = \"-\") { stopifnot(nchar(char) == 1) structure(char, class = \"lines\") } format.lines <- function(x, width, ...) { paste(rep(x, width), collapse = \"\") } ctl_new_pillar.line_tbl <- function(controller, x, width, ...) { out <- NextMethod() new_pillar(list( title = out$title, type = out$type, lines = new_pillar_component(list(lines(\"=\")), width = 1), data = out$data )) } ctl_new_rowid_pillar.line_tbl <- function(controller, x, width, ...) { out <- NextMethod() new_pillar( list( title = out$title, type = out$type, lines = new_pillar_component(list(lines(\"=\")), width = 1), data = out$data ), width = as.integer(floor(log10(max(nrow(x), 1))) + 1) ) } vctrs::new_data_frame( list(a = 1:3, b = letters[1:3]), class = c(\"line_tbl\", \"tbl\") ) #> # A data frame: 3 × 2 #> a b #> #> 1 1 a #> 2 2 b #> 3 3 c ctl_new_rowid_pillar.roman_tbl <- function(controller, x, width, ...) { out <- NextMethod() rowid <- utils::as.roman(seq_len(nrow(x))) width <- max(nchar(as.character(rowid))) new_pillar( list( title = out$title, type = out$type, data = pillar_component( new_pillar_shaft(list(row_ids = rowid), width = width, class = \"pillar_rif_shaft\" ) ) ), width = width ) } vctrs::new_data_frame( list(a = 1:3, b = letters[1:3]), class = c(\"roman_tbl\", \"tbl\") ) #> # A data frame: 3 × 2 #> a b #> #> 1 1 a #> 2 2 b #> 3 3 c"},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar_list.html","id":null,"dir":"Reference","previous_headings":"","what":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","title":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","text":"Gain full control appearance pillars tibble subclass body. method intended implementers subclasses \"tbl\" class. Users rarely need , also expect default implementation sufficient vast majority cases.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar_list.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","text":"","code":"ctl_new_pillar_list( controller, x, width, ..., title = NULL, first_pillar = NULL )"},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar_list.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","text":"controller object class \"tbl\" currently printed. x vector, can also data frame, matrix, array. width available width, can vector multiple tiers. NULL, first pillar instantiated. ... dots future extensions must empty. title title, derived name column data. first_pillar Can passed method first pillar compound pillar (pillar simple pillar) constructed already.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar_list.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","text":"ctl_new_pillar_list() called construct list pillars. x regular (one-dimensional) vector, list contains one pillar constructed ctl_new_pillar(). method also works compound columns: columns data frames, matrices arrays, following behavior: width NULL, method always returns list length one containing one pillar object represents first sub-column compound column. Otherwise, returned list contains one pillar object sub-columns can fit available horizontal space. pillar objects obtained calling ctl_new_pillar_list() width = NULL sub-column available width exhausted. method called initiate construction pillars tibble printed. ensure packed columns fit available space printed, ctl_new_pillar_list() may called twice input: width = NULL, width corresponding known available space first_pillar set pillar object constructed first call.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar_list.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","text":"","code":"# Simple column ctl_new_pillar_list( tibble::tibble(), palmerpenguins::penguins$weight[1:3], width = 10 ) #> Warning: Unknown or uninitialised column: `weight`. #> [[1]] #> #> #> NULL #> #> attr(,\"remaining_width\") #> [1] 4 #> attr(,\"simple\") #> [1] TRUE # Packed data frame: unknown width ctl_new_pillar_list( tibble::tibble(), palmerpenguins::penguins[1:3, ], width = NULL ) #> [[1]] #> #> species #> #> Adelie #> Adelie #> Adelie #> # Packed data frame: known width ctl_new_pillar_list( tibble::tibble(), palmerpenguins::penguins, width = 60 ) #> [[1]] #> #> species #> #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> #> [[2]] #> #> island #> #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> #> [[3]] #> #> bill_length_mm #> #> 39.1 #> 39.5 #> 40.3 #> NA #> 36.7 #> 39.3 #> 38.9 #> 39.2 #> 34.1 #> 42 #> 37.8 #> 37.8 #> 41.1 #> 38.6 #> 34.6 #> 36.6 #> 38.7 #> 42.5 #> 34.4 #> 46 #> 37.8 #> 37.7 #> 35.9 #> 38.2 #> 38.8 #> 35.3 #> 40.6 #> 40.5 #> 37.9 #> 40.5 #> 39.5 #> 37.2 #> 39.5 #> 40.9 #> 36.4 #> 39.2 #> 38.8 #> 42.2 #> 37.6 #> 39.8 #> 36.5 #> 40.8 #> 36 #> 44.1 #> 37 #> 39.6 #> 41.1 #> 37.5 #> 36 #> 42.3 #> 39.6 #> 40.1 #> 35 #> 42 #> 34.5 #> 41.4 #> 39 #> 40.6 #> 36.5 #> 37.6 #> 35.7 #> 41.3 #> 37.6 #> 41.1 #> 36.4 #> 41.6 #> 35.5 #> 41.1 #> 35.9 #> 41.8 #> 33.5 #> 39.7 #> 39.6 #> 45.8 #> 35.5 #> 42.8 #> 40.9 #> 37.2 #> 36.2 #> 42.1 #> 34.6 #> 42.9 #> 36.7 #> 35.1 #> 37.3 #> 41.3 #> 36.3 #> 36.9 #> 38.3 #> 38.9 #> 35.7 #> 41.1 #> 34 #> 39.6 #> 36.2 #> 40.8 #> 38.1 #> 40.3 #> 33.1 #> 43.2 #> 35 #> 41 #> 37.7 #> 37.8 #> 37.9 #> 39.7 #> 38.6 #> 38.2 #> 38.1 #> 43.2 #> 38.1 #> 45.6 #> 39.7 #> 42.2 #> 39.6 #> 42.7 #> 38.6 #> 37.3 #> 35.7 #> 41.1 #> 36.2 #> 37.7 #> 40.2 #> 41.4 #> 35.2 #> 40.6 #> 38.8 #> 41.5 #> 39 #> 44.1 #> 38.5 #> 43.1 #> 36.8 #> 37.5 #> 38.1 #> 41.1 #> 35.6 #> 40.2 #> 37 #> 39.7 #> 40.2 #> 40.6 #> 32.1 #> 40.7 #> 37.3 #> 39 #> 39.2 #> 36.6 #> 36 #> 37.8 #> 36 #> 41.5 #> 46.1 #> 50 #> 48.7 #> 50 #> 47.6 #> 46.5 #> 45.4 #> 46.7 #> 43.3 #> 46.8 #> 40.9 #> 49 #> 45.5 #> 48.4 #> 45.8 #> 49.3 #> 42 #> 49.2 #> 46.2 #> 48.7 #> 50.2 #> 45.1 #> 46.5 #> 46.3 #> 42.9 #> 46.1 #> 44.5 #> 47.8 #> 48.2 #> 50 #> 47.3 #> 42.8 #> 45.1 #> 59.6 #> 49.1 #> 48.4 #> 42.6 #> 44.4 #> 44 #> 48.7 #> 42.7 #> 49.6 #> 45.3 #> 49.6 #> 50.5 #> 43.6 #> 45.5 #> 50.5 #> 44.9 #> 45.2 #> 46.6 #> 48.5 #> 45.1 #> 50.1 #> 46.5 #> 45 #> 43.8 #> 45.5 #> 43.2 #> 50.4 #> 45.3 #> 46.2 #> 45.7 #> 54.3 #> 45.8 #> 49.8 #> 46.2 #> 49.5 #> 43.5 #> 50.7 #> 47.7 #> 46.4 #> 48.2 #> 46.5 #> 46.4 #> 48.6 #> 47.5 #> 51.1 #> 45.2 #> 45.2 #> 49.1 #> 52.5 #> 47.4 #> 50 #> 44.9 #> 50.8 #> 43.4 #> 51.3 #> 47.5 #> 52.1 #> 47.5 #> 52.2 #> 45.5 #> 49.5 #> 44.5 #> 50.8 #> 49.4 #> 46.9 #> 48.4 #> 51.1 #> 48.5 #> 55.9 #> 47.2 #> 49.1 #> 47.3 #> 46.8 #> 41.7 #> 53.4 #> 43.3 #> 48.1 #> 50.5 #> 49.8 #> 43.5 #> 51.5 #> 46.2 #> 55.1 #> 44.5 #> 48.8 #> 47.2 #> NA #> 46.8 #> 50.4 #> 45.2 #> 49.9 #> 46.5 #> 50 #> 51.3 #> 45.4 #> 52.7 #> 45.2 #> 46.1 #> 51.3 #> 46 #> 51.3 #> 46.6 #> 51.7 #> 47 #> 52 #> 45.9 #> 50.5 #> 50.3 #> 58 #> 46.4 #> 49.2 #> 42.4 #> 48.5 #> 43.2 #> 50.6 #> 46.7 #> 52 #> 50.5 #> 49.5 #> 46.4 #> 52.8 #> 40.9 #> 54.2 #> 42.5 #> 51 #> 49.7 #> 47.5 #> 47.6 #> 52 #> 46.9 #> 53.5 #> 49 #> 46.2 #> 50.9 #> 45.5 #> 50.9 #> 50.8 #> 50.1 #> 49 #> 51.5 #> 49.8 #> 48.1 #> 51.4 #> 45.7 #> 50.7 #> 42.5 #> 52.2 #> 45.2 #> 49.3 #> 50.2 #> 45.6 #> 51.9 #> 46.8 #> 45.7 #> 55.8 #> 43.5 #> 49.6 #> 50.8 #> 50.2 #> #> [[4]] #> #> bill_depth_mm #> #> 18.7 #> 17.4 #> 18 #> NA #> 19.3 #> 20.6 #> 17.8 #> 19.6 #> 18.1 #> 20.2 #> 17.1 #> 17.3 #> 17.6 #> 21.2 #> 21.1 #> 17.8 #> 19 #> 20.7 #> 18.4 #> 21.5 #> 18.3 #> 18.7 #> 19.2 #> 18.1 #> 17.2 #> 18.9 #> 18.6 #> 17.9 #> 18.6 #> 18.9 #> 16.7 #> 18.1 #> 17.8 #> 18.9 #> 17 #> 21.1 #> 20 #> 18.5 #> 19.3 #> 19.1 #> 18 #> 18.4 #> 18.5 #> 19.7 #> 16.9 #> 18.8 #> 19 #> 18.9 #> 17.9 #> 21.2 #> 17.7 #> 18.9 #> 17.9 #> 19.5 #> 18.1 #> 18.6 #> 17.5 #> 18.8 #> 16.6 #> 19.1 #> 16.9 #> 21.1 #> 17 #> 18.2 #> 17.1 #> 18 #> 16.2 #> 19.1 #> 16.6 #> 19.4 #> 19 #> 18.4 #> 17.2 #> 18.9 #> 17.5 #> 18.5 #> 16.8 #> 19.4 #> 16.1 #> 19.1 #> 17.2 #> 17.6 #> 18.8 #> 19.4 #> 17.8 #> 20.3 #> 19.5 #> 18.6 #> 19.2 #> 18.8 #> 18 #> 18.1 #> 17.1 #> 18.1 #> 17.3 #> 18.9 #> 18.6 #> 18.5 #> 16.1 #> 18.5 #> 17.9 #> 20 #> 16 #> 20 #> 18.6 #> 18.9 #> 17.2 #> 20 #> 17 #> 19 #> 16.5 #> 20.3 #> 17.7 #> 19.5 #> 20.7 #> 18.3 #> 17 #> 20.5 #> 17 #> 18.6 #> 17.2 #> 19.8 #> 17 #> 18.5 #> 15.9 #> 19 #> 17.6 #> 18.3 #> 17.1 #> 18 #> 17.9 #> 19.2 #> 18.5 #> 18.5 #> 17.6 #> 17.5 #> 17.5 #> 20.1 #> 16.5 #> 17.9 #> 17.1 #> 17.2 #> 15.5 #> 17 #> 16.8 #> 18.7 #> 18.6 #> 18.4 #> 17.8 #> 18.1 #> 17.1 #> 18.5 #> 13.2 #> 16.3 #> 14.1 #> 15.2 #> 14.5 #> 13.5 #> 14.6 #> 15.3 #> 13.4 #> 15.4 #> 13.7 #> 16.1 #> 13.7 #> 14.6 #> 14.6 #> 15.7 #> 13.5 #> 15.2 #> 14.5 #> 15.1 #> 14.3 #> 14.5 #> 14.5 #> 15.8 #> 13.1 #> 15.1 #> 14.3 #> 15 #> 14.3 #> 15.3 #> 15.3 #> 14.2 #> 14.5 #> 17 #> 14.8 #> 16.3 #> 13.7 #> 17.3 #> 13.6 #> 15.7 #> 13.7 #> 16 #> 13.7 #> 15 #> 15.9 #> 13.9 #> 13.9 #> 15.9 #> 13.3 #> 15.8 #> 14.2 #> 14.1 #> 14.4 #> 15 #> 14.4 #> 15.4 #> 13.9 #> 15 #> 14.5 #> 15.3 #> 13.8 #> 14.9 #> 13.9 #> 15.7 #> 14.2 #> 16.8 #> 14.4 #> 16.2 #> 14.2 #> 15 #> 15 #> 15.6 #> 15.6 #> 14.8 #> 15 #> 16 #> 14.2 #> 16.3 #> 13.8 #> 16.4 #> 14.5 #> 15.6 #> 14.6 #> 15.9 #> 13.8 #> 17.3 #> 14.4 #> 14.2 #> 14 #> 17 #> 15 #> 17.1 #> 14.5 #> 16.1 #> 14.7 #> 15.7 #> 15.8 #> 14.6 #> 14.4 #> 16.5 #> 15 #> 17 #> 15.5 #> 15 #> 13.8 #> 16.1 #> 14.7 #> 15.8 #> 14 #> 15.1 #> 15.2 #> 15.9 #> 15.2 #> 16.3 #> 14.1 #> 16 #> 15.7 #> 16.2 #> 13.7 #> NA #> 14.3 #> 15.7 #> 14.8 #> 16.1 #> 17.9 #> 19.5 #> 19.2 #> 18.7 #> 19.8 #> 17.8 #> 18.2 #> 18.2 #> 18.9 #> 19.9 #> 17.8 #> 20.3 #> 17.3 #> 18.1 #> 17.1 #> 19.6 #> 20 #> 17.8 #> 18.6 #> 18.2 #> 17.3 #> 17.5 #> 16.6 #> 19.4 #> 17.9 #> 19 #> 18.4 #> 19 #> 17.8 #> 20 #> 16.6 #> 20.8 #> 16.7 #> 18.8 #> 18.6 #> 16.8 #> 18.3 #> 20.7 #> 16.6 #> 19.9 #> 19.5 #> 17.5 #> 19.1 #> 17 #> 17.9 #> 18.5 #> 17.9 #> 19.6 #> 18.7 #> 17.3 #> 16.4 #> 19 #> 17.3 #> 19.7 #> 17.3 #> 18.8 #> 16.6 #> 19.9 #> 18.8 #> 19.4 #> 19.5 #> 16.5 #> 17 #> 19.8 #> 18.1 #> 18.2 #> 19 #> 18.7 #> #> attr(,\"extra\") #> [1] \"flipper_length_mm\" \"body_mass_g\" \"sex\" #> [4] \"year\" #> attr(,\"remaining_width\") #> [1] 16 #> attr(,\"simple\") #> [1] FALSE # Deeply packed data frame with known width: # showing only the first sub-column even if the width is sufficient ctl_new_pillar_list( tibble::tibble(), tibble::tibble(x = tibble::tibble(b = 1, c = 2), y = 3), width = 60 ) #> [[1]] #> #> x$b #> #> 1 #> #> [[2]] #> #> y #> #> 3 #> #> attr(,\"extra\") #> character(0) #> attr(,\"remaining_width\") #> [1] 48 #> attr(,\"simple\") #> [1] FALSE # Packed matrix: unknown width ctl_new_pillar_list(tibble::tibble(), matrix(1:6, ncol = 2), width = NULL) #> [[1]] #> #> [,1] #> #> 1 #> 2 #> 3 #> # Packed matrix: known width ctl_new_pillar_list(tibble::tibble(), matrix(1:6, ncol = 2), width = 60) #> [[1]] #> #> [,1] #> #> 1 #> 2 #> 3 #> #> [[2]] #> #> [,2] #> #> 4 #> 5 #> 6 #> #> attr(,\"extra\") #> integer(0) #> attr(,\"remaining_width\") #> [1] 48 #> attr(,\"simple\") #> [1] FALSE # Packed array ctl_new_pillar_list(tibble::tibble(), Titanic, width = 60) #> [[1]] #> #> #> 0 … #> 0 … #> 35 … #> 0 … #> #> attr(,\"remaining_width\") #> [1] 54 #> attr(,\"simple\") #> [1] TRUE"},{"path":"https://pillar.r-lib.org/dev/reference/deprecated.html","id":null,"dir":"Reference","previous_headings":"","what":"Deprecated functions — deprecated","title":"Deprecated functions — deprecated","text":"Use vctrs::vec_is() instead is_vector_s3(). Use testthat::expect_snapshot() instead expect_known_display().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/deprecated.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Deprecated functions — deprecated","text":"","code":"is_vector_s3(x) expect_known_display(object, file, ..., width = 80L, crayon = TRUE)"},{"path":"https://pillar.r-lib.org/dev/reference/deprecated.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Deprecated functions — deprecated","text":"object object check. file File path known value/output stored. ... Unused. width width output. crayon Color output?","code":""},{"path":"https://pillar.r-lib.org/dev/reference/dim_desc.html","id":null,"dir":"Reference","previous_headings":"","what":"Format dimensions — dim_desc","title":"Format dimensions — dim_desc","text":"Multi-dimensional objects formatted x b x ..., vectors length returned.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/dim_desc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format dimensions — dim_desc","text":"","code":"dim_desc(x)"},{"path":"https://pillar.r-lib.org/dev/reference/dim_desc.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format dimensions — dim_desc","text":"x object format dimensions ","code":""},{"path":"https://pillar.r-lib.org/dev/reference/dim_desc.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format dimensions — dim_desc","text":"","code":"dim_desc(1:10) #> [1] \"10\" dim_desc(Titanic) #> [1] \"4 × 2 × 2 × 2\""},{"path":"https://pillar.r-lib.org/dev/reference/extra_cols.html","id":null,"dir":"Reference","previous_headings":"","what":"Retrieve information about columns that didn't fit the available width — extra_cols","title":"Retrieve information about columns that didn't fit the available width — extra_cols","text":"Formatting colonnade object may lead columns omitted due width restrictions. method returns character vector describes omitted columns.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/extra_cols.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Retrieve information about columns that didn't fit the available width — extra_cols","text":"","code":"extra_cols(x, ...) # S3 method for class 'pillar_squeezed_colonnade' extra_cols(x, ..., n = Inf)"},{"path":"https://pillar.r-lib.org/dev/reference/extra_cols.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Retrieve information about columns that didn't fit the available width — extra_cols","text":"x result squeeze() colonnade object ... Arguments passed methods. n number extra columns return; returned vector always contain many elements extra columns, elements beyond n NA.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_glimpse.html","id":null,"dir":"Reference","previous_headings":"","what":"Format a vector for horizontal printing — format_glimpse","title":"Format a vector for horizontal printing — format_glimpse","text":"generic provides logic printing vectors glimpse(). output strives unambiguous possible, without compromising readability. list, distinguish vectors nested lists, latter surrounded [] brackets. Empty lists shown []. Vectors inside lists, length equal one, surrounded <> angle brackets. Empty vectors shown <>.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_glimpse.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format a vector for horizontal printing — format_glimpse","text":"","code":"format_glimpse(x, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/format_glimpse.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format a vector for horizontal printing — format_glimpse","text":"x vector. ... Arguments passed methods.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_glimpse.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Format a vector for horizontal printing — format_glimpse","text":"character vector length x.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_glimpse.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format a vector for horizontal printing — format_glimpse","text":"","code":"format_glimpse(1:3) #> [1] \"1\" \"2\" \"3\" # Lists use [], vectors inside lists use <> format_glimpse(list(1:3)) #> [1] \"<1, 2, 3>\" format_glimpse(list(1, 2:3)) #> [1] \"1\" \"<2, 3>\" format_glimpse(list(list(1), list(2:3))) #> [1] \"[1]\" \"[<2, 3>]\" format_glimpse(list(as.list(1), as.list(2:3))) #> [1] \"[1]\" \"[2, 3]\" format_glimpse(list(character())) #> [1] \"<>\" format_glimpse(list(NULL)) #> [1] \"\" # Character strings are always quoted writeLines(format_glimpse(letters[1:3])) #> \"a\" #> \"b\" #> \"c\" writeLines(format_glimpse(c(\"A\", \"B, C\"))) #> \"A\" #> \"B, C\" # Factors are quoted only when needed writeLines(format_glimpse(factor(letters[1:3]))) #> a #> b #> c writeLines(format_glimpse(factor(c(\"A\", \"B, C\")))) #> \"A\" #> \"B, C\""},{"path":"https://pillar.r-lib.org/dev/reference/format_tbl.html","id":null,"dir":"Reference","previous_headings":"","what":"Formatting of tbl objects — format_tbl","title":"Formatting of tbl objects — format_tbl","text":"See tibble::formatting details.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_tbl.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Formatting of tbl objects — format_tbl","text":"","code":"# S3 method for class 'tbl' print( x, width = NULL, ..., n = NULL, max_extra_cols = NULL, max_footer_lines = NULL ) # S3 method for class 'tbl' format( x, width = NULL, ..., n = NULL, max_extra_cols = NULL, max_footer_lines = NULL )"},{"path":"https://pillar.r-lib.org/dev/reference/format_type_sum.html","id":null,"dir":"Reference","previous_headings":"","what":"Format a type summary — format_type_sum","title":"Format a type summary — format_type_sum","text":"Called values returned type_sum() defining description capital.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_type_sum.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format a type summary — format_type_sum","text":"","code":"format_type_sum(x, width, ...) # Default S3 method format_type_sum(x, width, ...) # S3 method for class 'AsIs' format_type_sum(x, width, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/format_type_sum.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format a type summary — format_type_sum","text":"x return value type_sum() width desired total width. returned string still wider, trimmed. Can NULL. ... Arguments passed methods.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_type_sum.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Format a type summary — format_type_sum","text":"Two methods implemented default generic: default method, method \"AsIs\" class. Return (\"type\") type_sum() implementation format type without angle brackets. even control formatting, implement method.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_type_sum.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format a type summary — format_type_sum","text":"","code":"# Default method: show the type with angle brackets format_type_sum(1, NULL) #> [1] \"\\033[3m\\033[38;5;246m<1>\\033[39m\\033[23m\" pillar(1) #> #> #> 1 # AsIs method: show the type without angle brackets type_sum.accel <- function(x) { I(\"kg m/s^2\") } accel <- structure(9.81, class = \"accel\") pillar(accel) #> #> #> 9.81"},{"path":"https://pillar.r-lib.org/dev/reference/get_extent.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate display width — get_extent","title":"Calculate display width — get_extent","text":"get_extent() calculates display width string character vector. get_max_extent() calculates maximum display width strings character vector, zero empty vectors.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/get_extent.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate display width — get_extent","text":"","code":"get_extent(x) get_max_extent(x)"},{"path":"https://pillar.r-lib.org/dev/reference/get_extent.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate display width — get_extent","text":"x character vector.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/get_extent.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate display width — get_extent","text":"","code":"get_extent(c(\"abc\", \"de\")) #> [1] 3 2 get_extent(\"\\u904b\\u6c23\") #> [1] 4 get_max_extent(c(\"abc\", \"de\")) #> [1] 3"},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":null,"dir":"Reference","previous_headings":"","what":"Get a glimpse of your data — glimpse","title":"Get a glimpse of your data — glimpse","text":"glimpse() like transposed version print(): columns run page, data runs across. makes possible see every column data frame. little like str() applied data frame tries show much data possible. (always shows underlying data, even applied remote data source.) See format_glimpse() details formatting.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get a glimpse of your data — glimpse","text":"","code":"glimpse(x, width = NULL, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get a glimpse of your data — glimpse","text":"x object glimpse . width Width output: defaults setting width option (finite) width console. ... Unused, extensibility.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get a glimpse of your data — glimpse","text":"x original x (invisibly) returned, allowing glimpse() used within data pipe line.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":"s-methods","dir":"Reference","previous_headings":"","what":"S3 methods","title":"Get a glimpse of your data — glimpse","text":"glimpse S3 generic customised method tbls data.frames, default method calls str().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get a glimpse of your data — glimpse","text":"","code":"glimpse(mtcars) #> Rows: 32 #> Columns: 11 #> $ mpg 21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19.2,… #> $ cyl 6, 6, 4, 6, 8, 6, 8, 4, 4, 6, 6, 8, 8, 8, 8, 8, 8, 4, 4, 4,… #> $ disp 160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 140… #> $ hp 110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180, 18… #> $ drat 3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.92,… #> $ wt 2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3.1… #> $ qsec 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 22.… #> $ vs 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1,… #> $ am 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,… #> $ gear 4, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 4, 4, 4,… #> $ carb 4, 4, 1, 1, 2, 1, 4, 2, 2, 4, 4, 3, 3, 3, 4, 4, 4, 1, 2, 1,… glimpse(nycflights13::flights) #> Rows: 336,776 #> Columns: 19 #> $ year 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2… #> $ month 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1… #> $ day 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1… #> $ dep_time 517, 533, 542, 544, 554, 554, 555, 557, 557, 558,… #> $ sched_dep_time 515, 529, 540, 545, 600, 558, 600, 600, 600, 600,… #> $ dep_delay 2, 4, 2, -1, -6, -4, -5, -3, -3, -2, -2, -2, -2, … #> $ arr_time 830, 850, 923, 1004, 812, 740, 913, 709, 838, 753… #> $ sched_arr_time 819, 830, 850, 1022, 837, 728, 854, 723, 846, 745… #> $ arr_delay 11, 20, 33, -18, -25, 12, 19, -14, -8, 8, -2, -3,… #> $ carrier \"UA\", \"UA\", \"AA\", \"B6\", \"DL\", \"UA\", \"B6\", \"EV\", \"… #> $ flight 1545, 1714, 1141, 725, 461, 1696, 507, 5708, 79, … #> $ tailnum \"N14228\", \"N24211\", \"N619AA\", \"N804JB\", \"N668DN\",… #> $ origin \"EWR\", \"LGA\", \"JFK\", \"JFK\", \"LGA\", \"EWR\", \"EWR\", … #> $ dest \"IAH\", \"IAH\", \"MIA\", \"BQN\", \"ATL\", \"ORD\", \"FLL\", … #> $ air_time 227, 227, 160, 183, 116, 150, 158, 53, 140, 138, … #> $ distance 1400, 1416, 1089, 1576, 762, 719, 1065, 229, 944,… #> $ hour 5, 5, 5, 5, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6… #> $ minute 15, 29, 40, 45, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0,… #> $ time_hour 2013-01-01 05:00:00, 2013-01-01 05:00:00, 2013-0…"},{"path":"https://pillar.r-lib.org/dev/reference/new_ornament.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper to define the contents of a pillar — new_ornament","title":"Helper to define the contents of a pillar — new_ornament","text":"function useful data renders differently depending available width. case, implement pillar_shaft() method class return subclass \"pillar_shaft\" format() method subclass call new_ornament(). See implementation pillar_shaft.numeric() format.pillar_shaft_decimal() example.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_ornament.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper to define the contents of a pillar — new_ornament","text":"","code":"new_ornament(x, width = NULL, align = NULL)"},{"path":"https://pillar.r-lib.org/dev/reference/new_ornament.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper to define the contents of a pillar — new_ornament","text":"x character vector formatting, can use ANYI styles e.g provided cli package. width optional width resulting pillar, computed x missing align Alignment, one \"left\" \"right\"","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_ornament.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Helper to define the contents of a pillar — new_ornament","text":"","code":"new_ornament(c(\"abc\", \"de\"), align = \"right\") #> #> abc #> de"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar.html","id":null,"dir":"Reference","previous_headings":"","what":"Construct a custom pillar object — new_pillar","title":"Construct a custom pillar object — new_pillar","text":"new_pillar() low-level constructor pillar objects. supports arbitrary components. See pillar() high-level constructor default components.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Construct a custom pillar object — new_pillar","text":"","code":"new_pillar(components, ..., width = NULL, class = NULL, extra = deprecated())"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Construct a custom pillar object — new_pillar","text":"components named list components constructed pillar_component(). ... dots future extensions must empty. width Default width, optional. class Name subclass. extra Deprecated.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Construct a custom pillar object — new_pillar","text":"Arbitrary components supported. tibble subclass needs different components pillars, override extend ctl_new_pillar() perhaps ctl_new_pillar_list().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Construct a custom pillar object — new_pillar","text":"","code":"lines <- function(char = \"-\") { stopifnot(nchar(char) == 1) structure(char, class = \"lines\") } format.lines <- function(x, width, ...) { paste(rep(x, width), collapse = \"\") } new_pillar(list( title = pillar_component(new_ornament(c(\"abc\", \"de\"), align = \"right\")), lines = new_pillar_component(list(lines(\"=\")), width = 1) )) #> #> abc #> de #> ="},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_component.html","id":null,"dir":"Reference","previous_headings":"","what":"Components of a pillar — new_pillar_component","title":"Components of a pillar — new_pillar_component","text":"new_pillar_component() constructs object class \"pillar_component\". used custom ctl_new_pillar() methods create pillars nonstandard components. pillar_component() convenience helper wraps input list extracts width minimum width.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_component.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Components of a pillar — new_pillar_component","text":"","code":"new_pillar_component(x, ..., width, min_width = NULL) pillar_component(x)"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_component.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Components of a pillar — new_pillar_component","text":"x bare list length one (new_pillar_component()), object \"width\" \"min_width\" attributes (pillar_component()). ... dots future extensions must empty. width, min_width Width minimum width new component. min_width NULL, assumed match width.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_component.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Components of a pillar — new_pillar_component","text":"Objects class \"pillar\" internally named lists components. default components pillars created pillar() : title (may missing), type, data. component \"pillar_component\" object. class captures contents can fitted simple column. Compound columns represented multiple pillar objects, components.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_component.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Components of a pillar — new_pillar_component","text":"","code":"new_pillar_component(list(letters[1:3]), width = 1) #> [[1]] #> [1] \"a\" \"b\" \"c\" #> #> attr(,\"width\") #> [1] 1 #> attr(,\"min_width\") #> [1] 1 #> attr(,\"class\") #> [1] \"pillar_component\" pillar_component(new_pillar_title(\"letters\")) #> [[1]] #> [[1]] #> [1] \"letters\" #> #> attr(,\"class\") #> [1] \"pillar_title\" #> attr(,\"width\") #> [1] 7 #> attr(,\"min_width\") #> [1] 7 #> #> attr(,\"width\") #> [1] 7 #> attr(,\"min_width\") #> [1] 7 #> attr(,\"class\") #> [1] \"pillar_component\" pillar_component(new_pillar_type(letters)) #> [[1]] #> [[1]] #> [1] \"chr\" #> #> attr(,\"class\") #> [1] \"pillar_type\" #> attr(,\"width\") #> [1] 5 #> attr(,\"min_width\") #> [1] 5 #> #> attr(,\"width\") #> [1] 5 #> attr(,\"min_width\") #> [1] 5 #> attr(,\"class\") #> [1] \"pillar_component\" pillar_component(pillar_shaft(letters[1:3])) #> [[1]] #> #> a #> b #> c #> #> attr(,\"width\") #> [1] 1 #> attr(,\"min_width\") #> [1] 1 #> attr(,\"class\") #> [1] \"pillar_component\""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_shaft.html","id":null,"dir":"Reference","previous_headings":"","what":"Constructor for column data — new_pillar_shaft","title":"Constructor for column data — new_pillar_shaft","text":"new_pillar_shaft() constructor creates objects \"pillar_shaft\" class. virtual abstract class, must specify class argument. convention, string starts \"pillar_shaft_\". See vignette(\"extending\", package = \"tibble\") usage examples. method accepts vector arbitrary length expected return S3 object following properties: attribute \"width\" can attribute \"min_width\", missing, \"width\" used must implement method format(x, width, ...) can called value min_width width method must return object inherits character attributes \"align\" (supported values \"left\", \"right\", \"center\") \"width\" function new_pillar_shaft() returns object, also correctly formats NA values. many cases, implementation pillar_shaft.your_class_name() format data character vector (using color emphasis) simply call new_pillar_shaft(). See pillar:::pillar_shaft.numeric code allows changing display depending available width. new_pillar_shaft_simple() provides implementation pillar_shaft class suitable output fixed formatting, truncated continuation character (ellipsis ~) fit available width. default, required width computed natural width formatted argument.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_shaft.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Constructor for column data — new_pillar_shaft","text":"","code":"new_pillar_shaft( x, ..., width = NULL, min_width = width, type_sum = NULL, class = NULL, subclass = NULL ) new_pillar_shaft_simple( formatted, ..., width = NULL, align = \"left\", min_width = NULL, na = NULL, na_indent = 0L, shorten = c(\"back\", \"front\", \"mid\", \"abbreviate\"), short_formatted = NULL )"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_shaft.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Constructor for column data — new_pillar_shaft","text":"x object ... Passed new_pillar_shaft(). width maximum column width. min_width minimum allowed column width, width omitted. type_sum Override type summary displayed top data. argument, given, takes precedence type summary provided type_sum(). class name subclass. subclass Deprecated, pass class argument instead. formatted data show, object coercible character. align Alignment column. na String use NA value, defaults \"NA\" styled style_na() fallback color available. na_indent Indentation NA values. shorten abbreviate data necessary: \"back\" (default): add ellipsis end \"front\": add ellipsis front \"mid\": add ellipsis middle \"abbreviate\": use abbreviate() short_formatted provided, character vector length formatted, used available width insufficient show full output.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_shaft.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Constructor for column data — new_pillar_shaft","text":"formatted argument may also contain ANSI escapes change color attributes text, provided e.g. cli package.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_title.html","id":null,"dir":"Reference","previous_headings":"","what":"Prepare a column title for formatting — new_pillar_title","title":"Prepare a column title for formatting — new_pillar_title","text":"Call format() result render column titles.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_title.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Prepare a column title for formatting — new_pillar_title","text":"","code":"new_pillar_title(x, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_title.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Prepare a column title for formatting — new_pillar_title","text":"x character vector column titles. ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_title.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Prepare a column title for formatting — new_pillar_title","text":"","code":"format(new_pillar_title(names(trees))) #> [1] \"Girth \" \"Height\" \"Volume\""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_type.html","id":null,"dir":"Reference","previous_headings":"","what":"Prepare a column type for formatting — new_pillar_type","title":"Prepare a column type for formatting — new_pillar_type","text":"Calls type_sum() format type. Call format() result render column types.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_type.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Prepare a column type for formatting — new_pillar_type","text":"","code":"new_pillar_type(x, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_type.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Prepare a column type for formatting — new_pillar_type","text":"x vector type retrieved. ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_type.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Prepare a column type for formatting — new_pillar_type","text":"","code":"format(new_pillar_type(\"a\")) #> [1] \"\\033[3m\\033[38;5;246m\\033[39m\\033[23m\" format(new_pillar_type(factor(\"a\"))) #> [1] \"\\033[3m\\033[38;5;246m\\033[39m\\033[23m\""},{"path":"https://pillar.r-lib.org/dev/reference/new_tbl_format_setup.html","id":null,"dir":"Reference","previous_headings":"","what":"Construct a setup object for formatting — new_tbl_format_setup","title":"Construct a setup object for formatting — new_tbl_format_setup","text":"object returned default method tbl_format_setup() object \"class\" attribute elements described \"Parameters\" section. Named elements can added objects without affecting behavior. modify existing elements.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_tbl_format_setup.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Construct a setup object for formatting — new_tbl_format_setup","text":"","code":"new_tbl_format_setup( width, tbl_sum, x = NULL, df = NULL, body = NULL, rows_missing = NULL, rows_total = NULL, extra_cols = NULL, extra_cols_total = NULL, max_footer_lines = NULL, abbrev_cols = NULL )"},{"path":"https://pillar.r-lib.org/dev/reference/new_tbl_format_setup.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Construct a setup object for formatting — new_tbl_format_setup","text":"width width argument unchanged. tbl_sum named character vector, returned tbl_sum(). x input object unchanged. df data frame representation intended output, trimmed desired number rows. body character vector formatted body, one element per line, rows_missing number rows shown body, NA unknown. rows_total total number rows data, NA unknown. extra_cols Columns fit body, character vector formatted column names types. extra_cols_total total number columns, may larger length(extra_cols). max_footer_lines maximum number lines footer. abbrev_cols Formatted names columns shown abbreviated body.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/num.html","id":null,"dir":"Reference","previous_headings":"","what":"Format a numeric vector in a tibble — num","title":"Format a numeric vector in a tibble — num","text":"functions reexported tibble::num() tibble::set_num_opts().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/num.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format a numeric vector in a tibble — num","text":"","code":"num( x, ..., sigfig = NULL, digits = NULL, label = NULL, scale = NULL, notation = c(\"fit\", \"dec\", \"sci\", \"eng\", \"si\"), fixed_exponent = NULL, extra_sigfig = NULL ) set_num_opts( x, ..., sigfig = NULL, digits = NULL, label = NULL, scale = NULL, notation = c(\"fit\", \"dec\", \"sci\", \"eng\", \"si\"), fixed_exponent = NULL, extra_sigfig = NULL )"},{"path":"https://pillar.r-lib.org/dev/reference/pillar-package.html","id":null,"dir":"Reference","previous_headings":"","what":"pillar: Coloured Formatting for Columns — pillar-package","title":"pillar: Coloured Formatting for Columns — pillar-package","text":"Formats tabular data columns rows using full range colours provided modern terminals. Provides various generics making every aspect display customizable.","code":""},{"path":[]},{"path":"https://pillar.r-lib.org/dev/reference/pillar-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"pillar: Coloured Formatting for Columns — pillar-package","text":"Maintainer: Kirill Müller kirill@cynkra.com (ORCID) Authors: Hadley Wickham contributors: RStudio [copyright holder]","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar-package.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"pillar: Coloured Formatting for Columns — pillar-package","text":"","code":"pillar(1:3) #> #> #> 1 #> 2 #> 3 pillar(c(1, 2, 3)) #> #> #> 1 #> 2 #> 3 pillar(factor(letters[1:3]), title = \"letters\") #> #> letters #> #> a #> b #> c tbl_format_setup(tibble::as_tibble(mtcars), width = 60) #> #> #> # A tibble: 32 × 11 #> #> mpg cyl disp hp drat wt qsec vs am #> #> 1 21 6 160 110 3.9 2.62 16.5 0 1 #> 2 21 6 160 110 3.9 2.88 17.0 0 1 #> 3 22.8 4 108 93 3.85 2.32 18.6 1 1 #> 4 21.4 6 258 110 3.08 3.22 19.4 1 0 #> 5 18.7 8 360 175 3.15 3.44 17.0 0 0 #> 6 18.1 6 225 105 2.76 3.46 20.2 1 0 #> 7 14.3 8 360 245 3.21 3.57 15.8 0 0 #> 8 24.4 4 147. 62 3.69 3.19 20 1 0 #> 9 22.8 4 141. 95 3.92 3.15 22.9 1 0 #> 10 19.2 6 168. 123 3.92 3.44 18.3 1 0 #> #> # ℹ 22 more rows #> # ℹ 2 more variables: gear , carb "},{"path":"https://pillar.r-lib.org/dev/reference/pillar.html","id":null,"dir":"Reference","previous_headings":"","what":"Object for formatting a vector suitable for tabular display — pillar","title":"Object for formatting a vector suitable for tabular display — pillar","text":"pillar() creates object formats vector. output uses one row title (given), one row type, vec_size(x) rows data.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Object for formatting a vector suitable for tabular display — pillar","text":"","code":"pillar(x, title = NULL, width = NULL, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/pillar.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Object for formatting a vector suitable for tabular display — pillar","text":"x vector format. title optional title column. title used \"\", quoting applied. width Default width, optional. ... Passed pillar_shaft().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Object for formatting a vector suitable for tabular display — pillar","text":"pillar consists arbitrary components. pillar() constructor uses title, type, data. title via new_pillar_title() type via new_pillar_type(), calls type_sum() internally data via pillar_shaft() components formatted via format() displaying pillar. width argument passed format() call. pillar 1.5.0, pillar() returns NULL width insufficient display data.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Object for formatting a vector suitable for tabular display — pillar","text":"","code":"x <- 123456789 * (10^c(-1, -3, -5, NA, -8, -10)) pillar(x) #> #> #> 12345679. #> 123457. #> 1235. #> NA #> 1.23 #> 0.0123 pillar(-x) #> #> #> -1.23e+7 #> -1.23e+5 #> -1.23e+3 #> NA #> -1.23e+0 #> -1.23e-2 pillar(runif(10)) #> #> #> 0.0808 #> 0.834 #> 0.601 #> 0.157 #> 0.00740 #> 0.466 #> 0.498 #> 0.290 #> 0.733 #> 0.773 pillar(rcauchy(20)) #> #> #> -0.416 #> 0.613 #> 0.108 #> 1.58 #> 3.16 #> 0.706 #> 3.20 #> 0.203 #> 2.74 #> -0.0770 #> 1.29 #> -1.59 #> -1.10 #> 0.707 #> -0.0612 #> -1.05 #> 0.163 #> -10.5 #> -1.42 #> -1.49 # Special values are highlighted pillar(c(runif(5), NA, NaN, Inf, -Inf)) #> #> #> 0.0312 #> 0.226 #> 0.301 #> 0.636 #> 0.479 #> NA #> NaN #> Inf #> -Inf # Very wide ranges will be displayed in scientific format pillar(c(1e10, 1e-10), width = 20) #> #> #> 1e+10 #> 1e-10 pillar(c(1e10, 1e-10)) #> #> #> 1e+10 #> 1e-10 x <- c(FALSE, NA, FALSE, FALSE, TRUE, FALSE, FALSE, TRUE, FALSE, TRUE) pillar(x) #> #> #> FALSE #> NA #> FALSE #> FALSE #> TRUE #> FALSE #> FALSE #> TRUE #> FALSE #> TRUE x <- c(\"This is string is rather long\", NA, \"?\", \"Short\") pillar(x) #> #> #> This is string is rather long #> NA #> ? #> Short pillar(x, width = 30) #> #> #> This is string is rather long #> NA #> ? #> Short pillar(x, width = 5) #> #> #> This… #> NA #> ? #> Short date <- as.Date(\"2017-05-15\") pillar(date + c(1, NA, 3:5)) #> #> #> 2017-05-16 #> NA #> 2017-05-18 #> 2017-05-19 #> 2017-05-20 pillar(as.POSIXct(date) + c(30, NA, 600, 3600, 86400)) #> #> #> 2017-05-15 00:00:30 #> NA #> 2017-05-15 00:10:00 #> 2017-05-15 01:00:00 #> 2017-05-16 00:00:00"},{"path":"https://pillar.r-lib.org/dev/reference/pillar_options.html","id":null,"dir":"Reference","previous_headings":"","what":"Package options — pillar_options","title":"Package options — pillar_options","text":"Options affect display tibble-like output.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_options.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Package options — pillar_options","text":"options can set via options() queried via getOption().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_options.html","id":"options-for-the-pillar-package","dir":"Reference","previous_headings":"","what":"Options for the pillar package","title":"Package options — pillar_options","text":"pillar.print_max: Maximum number rows printed, default: 20. Set Inf always print rows. compatibility reasons, getOption(\"tibble.print_max\") getOption(\"dplyr.print_max\") also consulted, soft-deprecated pillar v2.0.0. pillar.print_min: Number rows printed table print_max rows, default: 10. compatibility reasons, getOption(\"tibble.print_min\") getOption(\"dplyr.print_min\") also consulted, soft-deprecated pillar v2.0.0. pillar.width: Output width. Default: NULL (use getOption(\"width\")). can larger getOption(\"width\"), case output table's body distributed multiple tiers wide tibbles. compatibility reasons, getOption(\"tibble.width\") getOption(\"dplyr.width\") also consulted, soft-deprecated pillar v2.0.0. pillar.max_footer_lines: maximum number lines footer, default: 7. Set Inf turn truncation footer lines. max_extra_cols option still limits number columns printed. pillar.max_extra_cols: maximum number columns printed footer, default: 100. Set Inf show columns. Set predictable max_footer_lines control number footer lines instead. pillar.bold: Use bold font, e.g. column headers? currently defaults FALSE, many terminal fonts poor support bold fonts. pillar.subtle: Use subtle style, e.g. row numbers data types? Default: TRUE. pillar.subtle_num: Use subtle style insignificant digits? Default: FALSE, also affected subtle option. pillar.neg: Highlight negative numbers? Default: TRUE. pillar.sigfig: number significant digits printed highlighted, default: 3. Set subtle option FALSE turn highlighting significant digits. pillar.min_title_chars: minimum number characters column title, default: 20. Column titles may truncated width save horizontal space. Set Inf turn truncation column titles. pillar.min_chars: minimum number characters wide display character columns, default: 3. Character columns may truncated width save horizontal space. Set Inf turn truncation character columns. pillar.max_dec_width: maximum allowed width decimal notation, default: 13. pillar.bidi: Set TRUE experimental support bidirectional scripts. Default: FALSE. option set, \"left right override\" \"first strong isolate\" Unicode controls inserted ensure text appears intended direction column headings correspond correct columns. pillar.superdigit_sep: string inserted superscript digits column names footnote. Defaults \"\\u200b\", zero-width space, UTF-8 platforms, \": \" non-UTF-8 platforms. pillar.advice: advice displayed footer columns rows missing output? Defaults TRUE interactive sessions, FALSE otherwise.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_options.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Package options — pillar_options","text":"","code":"df <- tibble::tibble(x = c(1.234567, NA, 5:10)) df #> # A tibble: 8 × 1 #> x #> #> 1 1.23 #> 2 NA #> 3 5 #> 4 6 #> 5 7 #> 6 8 #> 7 9 #> 8 10 # Change for the duration of the session: old <- options( pillar.sigfig = 6, pillar.print_max = 5, pillar.print_min = 5, pillar.advice = FALSE ) df #> # A tibble: 8 × 1 #> x #> #> 1 1.23457 #> 2 NA #> 3 5 #> 4 6 #> 5 7 #> # ℹ 3 more rows # Change back to the original value: options(old) df #> # A tibble: 8 × 1 #> x #> #> 1 1.23 #> 2 NA #> 3 5 #> 4 6 #> 5 7 #> 6 8 #> 7 9 #> 8 10"},{"path":"https://pillar.r-lib.org/dev/reference/pillar_shaft.html","id":null,"dir":"Reference","previous_headings":"","what":"Column data — pillar_shaft","title":"Column data — pillar_shaft","text":"Internal class formatting data column. pillar_shaft() coercion method must implemented data type display tibble. class comes default method print() calls format(). print() called without width argument, natural width used calling format(). Usually need implement method subclass. subclass must implement format(), default implementation just raises error. format() method can assume valid value width argument.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_shaft.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Column data — pillar_shaft","text":"","code":"pillar_shaft(x, ...) # S3 method for class 'pillar_shaft' print(x, width = NULL, ...) # S3 method for class 'pillar_shaft' format(x, width, ...) # S3 method for class 'logical' pillar_shaft(x, ...) # S3 method for class 'numeric' pillar_shaft(x, ..., sigfig = NULL) # S3 method for class 'Date' pillar_shaft(x, ...) # S3 method for class 'POSIXt' pillar_shaft(x, ...) # S3 method for class 'character' pillar_shaft(x, ..., min_width = NULL) # S3 method for class 'glue' pillar_shaft(x, ..., min_width = NULL, na_indent = 0L, shorten = NULL) # S3 method for class 'list' pillar_shaft(x, ...) # S3 method for class 'factor' pillar_shaft(x, ...) # S3 method for class 'AsIs' pillar_shaft(x, ...) # Default S3 method pillar_shaft(x, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/pillar_shaft.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Column data — pillar_shaft","text":"x vector format ... Arguments passed methods. width Width printing formatting. sigfig Deprecated, use num() set_num_opts() data instead. min_width Deprecated, use char() set_char_opts() data instead. na_indent Indentation NA values. shorten abbreviate data necessary: \"back\" (default): add ellipsis end \"front\": add ellipsis front \"mid\": add ellipsis middle \"abbreviate\": use abbreviate()","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_shaft.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Column data — pillar_shaft","text":"default method currently format via format(), rely behavior.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_shaft.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Column data — pillar_shaft","text":"","code":"pillar_shaft(1:3) #> #> 1 #> 2 #> 3 pillar_shaft(1.5:3.5) #> #> 1.5 #> 2.5 #> 3.5 pillar_shaft(NA) #> #> NA pillar_shaft(c(1:3, NA)) #> #> 1 #> 2 #> 3 #> NA"},{"path":"https://pillar.r-lib.org/dev/reference/scale_x_num.html","id":null,"dir":"Reference","previous_headings":"","what":"Scale that supports formatted numbers — scale_x_num","title":"Scale that supports formatted numbers — scale_x_num","text":"scale used default ggplot2 columns created num().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/scale_x_num.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Scale that supports formatted numbers — scale_x_num","text":"","code":"scale_x_num( ..., position = \"bottom\", guide = ggplot2::waiver(), rescaler = NULL, super = NULL ) scale_y_num(..., guide = ggplot2::waiver(), rescaler = NULL, super = NULL)"},{"path":"https://pillar.r-lib.org/dev/reference/scale_x_num.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Scale that supports formatted numbers — scale_x_num","text":"... Arguments passed ggplot2::continuous_scale aesthetics names aesthetics scale works . palette palette function called numeric vector values 0 1 returns corresponding output values (e.g., scales::pal_area()). name name scale. Used axis legend title. waiver(), default, name scale taken first mapping used aesthetic. NULL, legend title omitted. breaks One : NULL breaks waiver() default breaks computed transformation object numeric vector positions function takes limits input returns breaks output (e.g., function returned scales::extended_breaks()). Note position scales, limits provided scale expansion. Also accepts rlang lambda function notation. minor_breaks One : NULL minor breaks waiver() default breaks (one minor break major break) numeric vector positions function given limits returns vector minor breaks. Also accepts rlang lambda function notation. function two arguments, given limits major breaks. n.breaks integer guiding number major breaks. algorithm may choose slightly different number ensure nice break labels. effect breaks = waiver(). Use NULL use default number breaks given transformation. labels One : NULL labels waiver() default labels computed transformation object character vector giving labels (must length breaks) expression vector (must length breaks). See ?plotmath details. function takes breaks input returns labels output. Also accepts rlang lambda function notation. limits One : NULL use default scale range numeric vector length two providing limits scale. Use NA refer existing minimum maximum function accepts existing (automatic) limits returns new limits. Also accepts rlang lambda function notation. Note setting limits positional scales remove data outside limits. purpose zoom, use limit argument coordinate system (see coord_cartesian()). oob One : Function handles limits outside scale limits (bounds). Also accepts rlang lambda function notation. default (scales::censor()) replaces bounds values NA. scales::squish() squishing bounds values range. scales::squish_infinite() squishing infinite values range. expand position scales, vector range expansion constants used add padding around data ensure placed distance away axes. Use convenience function expansion() generate values expand argument. defaults expand scale 5% side continuous variables, 0.6 units side discrete variables. na.value Missing values replaced value. transform continuous scales, name transformation object object . Built-transformations include \"asn\", \"atanh\", \"boxcox\", \"date\", \"exp\", \"hms\", \"identity\", \"log\", \"log10\", \"log1p\", \"log2\", \"logit\", \"modulus\", \"probability\", \"probit\", \"pseudo_log\", \"reciprocal\", \"reverse\", \"sqrt\" \"time\". transformation object bundles together transform, inverse, methods generating breaks labels. Transformation objects defined scales package, called transform_. transformations require arguments, can call scales package, e.g. scales::transform_boxcox(p = 2). can create transformation scales::new_transform(). trans Deprecated favour transform. call call used construct scale reporting messages. guide, position Passed ggplot2::continuous_scale() rescaler, super Must remain NULL.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/squeeze.html","id":null,"dir":"Reference","previous_headings":"","what":"Squeeze a colonnade to a fixed width — squeeze","title":"Squeeze a colonnade to a fixed width — squeeze","text":"squeeze() function usually need called manually. returns object suitable printing formatting fixed width additional information omitted columns, can retrieved via extra_cols().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/squeeze.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Squeeze a colonnade to a fixed width — squeeze","text":"","code":"squeeze(x, width = NULL, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/style_subtle.html","id":null,"dir":"Reference","previous_headings":"","what":"Styling helpers — style_num","title":"Styling helpers — style_num","text":"Functions allow implementers formatters custom data types maintain consistent style default data types.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/style_subtle.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Styling helpers — style_num","text":"","code":"style_num(x, negative, significant = rep_along(x, TRUE)) style_subtle(x) style_subtle_num(x, negative) style_bold(x) style_na(x) style_neg(x)"},{"path":"https://pillar.r-lib.org/dev/reference/style_subtle.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Styling helpers — style_num","text":"x character vector style. negative, significant Logical vector length x indicate values negative significant, respectively","code":""},{"path":"https://pillar.r-lib.org/dev/reference/style_subtle.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Styling helpers — style_num","text":"style_subtle() affected subtle option. style_subtle_num() affected subtle_num option, FALSE default. style_bold() affected bold option, FALSE default. style_neg() affected pillar.neg option.","code":""},{"path":[]},{"path":"https://pillar.r-lib.org/dev/reference/style_subtle.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Styling helpers — style_num","text":"","code":"style_num( c(\"123\", \"456\"), negative = c(TRUE, FALSE) ) #> [1] \"\\033[31m123\\033[39m\" \"456\" style_num( c(\"123\", \"456\"), negative = c(TRUE, FALSE), significant = c(FALSE, FALSE) ) #> [1] \"\\033[31m123\\033[39m\" \"456\" style_subtle(\"text\") #> [1] \"\\033[38;5;246mtext\\033[39m\" style_subtle_num(0.01 * 1:3, c(TRUE, FALSE, TRUE)) #> [1] \"\\033[31m0.01\\033[39m\" \"0.02\" \"\\033[31m0.03\\033[39m\" style_bold(\"Petal.Width\") #> [1] \"Petal.Width\" style_na(\"NA\") #> [1] \"\\033[31mNA\\033[39m\" style_neg(\"123\") #> [1] \"\\033[31m123\\033[39m\""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_body.html","id":null,"dir":"Reference","previous_headings":"","what":"Format the body of a tibble — tbl_format_body","title":"Format the body of a tibble — tbl_format_body","text":"easier customization, formatting tibble split three components: header, body, footer. tbl_format_body() method responsible formatting body tibble. Override method need change appearance parts body. need change appearance single data type, override vctrs::vec_ptype_abbr() pillar_shaft() data type.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_body.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format the body of a tibble — tbl_format_body","text":"","code":"tbl_format_body(x, setup, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_body.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format the body of a tibble — tbl_format_body","text":"x tibble-like object. setup setup object returned tbl_format_setup(). ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_body.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Format the body of a tibble — tbl_format_body","text":"character vector.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_body.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format the body of a tibble — tbl_format_body","text":"","code":"setup <- tbl_format_setup(palmerpenguins::penguins) tbl_format_body(palmerpenguins::penguins, setup) #> species island bill_length_mm bill_depth_mm flipper_length_mm #> #> 1 Adelie Torgersen 39.1 18.7 181 #> 2 Adelie Torgersen 39.5 17.4 186 #> 3 Adelie Torgersen 40.3 18 195 #> 4 Adelie Torgersen NA NA NA #> 5 Adelie Torgersen 36.7 19.3 193 #> 6 Adelie Torgersen 39.3 20.6 190 #> 7 Adelie Torgersen 38.9 17.8 181 #> 8 Adelie Torgersen 39.2 19.6 195 #> 9 Adelie Torgersen 34.1 18.1 193 #> 10 Adelie Torgersen 42 20.2 190 # Shortcut for debugging tbl_format_body(setup) #> #> species island bill_length_mm bill_depth_mm flipper_length_mm #> #> 1 Adelie Torgersen 39.1 18.7 181 #> 2 Adelie Torgersen 39.5 17.4 186 #> 3 Adelie Torgersen 40.3 18 195 #> 4 Adelie Torgersen NA NA NA #> 5 Adelie Torgersen 36.7 19.3 193 #> 6 Adelie Torgersen 39.3 20.6 190 #> 7 Adelie Torgersen 38.9 17.8 181 #> 8 Adelie Torgersen 39.2 19.6 195 #> 9 Adelie Torgersen 34.1 18.1 193 #> 10 Adelie Torgersen 42 20.2 190"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_footer.html","id":null,"dir":"Reference","previous_headings":"","what":"Format the footer of a tibble — tbl_format_footer","title":"Format the footer of a tibble — tbl_format_footer","text":"easier customization, formatting tibble split three components: header, body, footer. tbl_format_footer() method responsible formatting footer tibble. Override extend method need change appearance footer. default implementation adds information rows columns shown body.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_footer.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format the footer of a tibble — tbl_format_footer","text":"","code":"tbl_format_footer(x, setup, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_footer.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format the footer of a tibble — tbl_format_footer","text":"x tibble-like object. setup setup object returned tbl_format_setup(). ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_footer.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Format the footer of a tibble — tbl_format_footer","text":"character vector.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_footer.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format the footer of a tibble — tbl_format_footer","text":"","code":"setup <- tbl_format_setup(palmerpenguins::penguins) tbl_format_footer(palmerpenguins::penguins, setup) #> [1] \"\\033[38;5;246m# ℹ 334 more rows\\033[39m\" #> [2] \"\\033[38;5;246m# ℹ 3 more variables: body_mass_g , sex , year \\033[39m\" # Shortcut for debugging tbl_format_footer(setup) #> #> # ℹ 334 more rows #> # ℹ 3 more variables: body_mass_g , sex , year "},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_header.html","id":null,"dir":"Reference","previous_headings":"","what":"Format the header of a tibble — tbl_format_header","title":"Format the header of a tibble — tbl_format_header","text":"easier customization, formatting tibble split three components: header, body, footer. tbl_format_header() method responsible formatting header tibble. Override method need change appearance entire header. need change extend components shown header, override extend tbl_sum() class called default method.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_header.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format the header of a tibble — tbl_format_header","text":"","code":"tbl_format_header(x, setup, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_header.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format the header of a tibble — tbl_format_header","text":"x tibble-like object. setup setup object returned tbl_format_setup(). ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_header.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Format the header of a tibble — tbl_format_header","text":"character vector.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_header.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format the header of a tibble — tbl_format_header","text":"","code":"setup <- tbl_format_setup(palmerpenguins::penguins) tbl_format_header(palmerpenguins::penguins, setup) #> [1] \"\\033[38;5;246m# A tibble: 344 × 8\\033[39m\" # Shortcut for debugging tbl_format_header(setup) #> #> # A tibble: 344 × 8"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_setup.html","id":null,"dir":"Reference","previous_headings":"","what":"Set up formatting — tbl_format_setup","title":"Set up formatting — tbl_format_setup","text":"tbl_format_setup() called format.tbl(). method collects information common header, body, footer parts tibble. Examples: dimensions sometimes reported header (implicitly) footer tibble; columns shown body decide columns shown footer. information computed tbl_format_setup(). result passed tbl_format_header(), tbl_format_body(), tbl_format_footer() methods. need customize parts printed output independently, override methods instead. checking setup argument, can return object suitable call tbl_format_header() setup NULL. case, method called second time return value first call setup.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_setup.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set up formatting — tbl_format_setup","text":"","code":"tbl_format_setup( x, width = NULL, ..., setup = list(tbl_sum = tbl_sum(x)), n = NULL, max_extra_cols = NULL, max_footer_lines = NULL, focus = NULL ) # S3 method for class 'tbl' tbl_format_setup( x, width, ..., setup, n, max_extra_cols, max_footer_lines, focus )"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_setup.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set up formatting — tbl_format_setup","text":"x object. width Actual width printing, numeric greater zero. argument mandatory implementations method. ... Extra arguments print.tbl() format.tbl(). setup generic first called setup = NULL . method evaluates argument, return value used call tbl_format_header(), , second call generic made return value first call setup used calls tbl_format_body() tbl_format_footer(). allows displaying header starting computation required body footer. n Actual number rows print. options considered implementations method. max_extra_cols Number columns print abbreviated information , width small entire tibble. options considered implementations method. max_footer_lines Maximum number lines footer. options considered implementations method. focus Names columns show preferentially space tight.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_setup.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set up formatting — tbl_format_setup","text":"object can passed setup argument tbl_format_header(), tbl_format_body(), tbl_format_footer().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_setup.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Set up formatting — tbl_format_setup","text":"Extend method prepare information used several parts printed output tibble-like object, collect additional arguments passed via ... print.tbl() format.tbl(). expect tbl_format_setup() extended rarely, overridden exceptional circumstances, . override method, must also implement tbl_format_header(), tbl_format_body(), tbl_format_footer() class. Implementing method allows override printing formatting entire object without overriding print() format() methods directly. allows keep logic width n arguments. default method \"tbl\" class collects information standard printing tibbles. See new_tbl_format_setup() details returned object.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_setup.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Set up formatting — tbl_format_setup","text":"","code":"tbl_format_setup(palmerpenguins::penguins) #> #> #> # A tibble: 344 × 8 #> #> species island bill_length_mm bill_depth_mm flipper_length_mm #> #> 1 Adelie Torgersen 39.1 18.7 181 #> 2 Adelie Torgersen 39.5 17.4 186 #> 3 Adelie Torgersen 40.3 18 195 #> 4 Adelie Torgersen NA NA NA #> 5 Adelie Torgersen 36.7 19.3 193 #> 6 Adelie Torgersen 39.3 20.6 190 #> 7 Adelie Torgersen 38.9 17.8 181 #> 8 Adelie Torgersen 39.2 19.6 195 #> 9 Adelie Torgersen 34.1 18.1 193 #> 10 Adelie Torgersen 42 20.2 190 #> #> # ℹ 334 more rows #> # ℹ 3 more variables: body_mass_g , sex , year "},{"path":"https://pillar.r-lib.org/dev/reference/tbl_nrow.html","id":null,"dir":"Reference","previous_headings":"","what":"Number of rows in a tbl object — tbl_nrow","title":"Number of rows in a tbl object — tbl_nrow","text":"generic called tbl_format_setup() determine number rows tbl object.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_nrow.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Number of rows in a tbl object — tbl_nrow","text":"","code":"tbl_nrow(x, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_nrow.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Number of rows in a tbl object — tbl_nrow","text":"x tbl object. ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_sum.html","id":null,"dir":"Reference","previous_headings":"","what":"Provide a succinct summary of an object — tbl_sum","title":"Provide a succinct summary of an object — tbl_sum","text":"tbl_sum() gives brief textual description table-like object, include dimensions data source first element, additional information elements (grouping dplyr). default implementation forwards obj_sum().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_sum.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Provide a succinct summary of an object — tbl_sum","text":"","code":"tbl_sum(x)"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_sum.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Provide a succinct summary of an object — tbl_sum","text":"x Object summarise.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_sum.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Provide a succinct summary of an object — tbl_sum","text":"named character vector, describing dimensions first element data source name first element.","code":""},{"path":[]},{"path":"https://pillar.r-lib.org/dev/reference/tbl_sum.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Provide a succinct summary of an object — tbl_sum","text":"","code":"tbl_sum(1:10) #> Description #> \"int [10]\" tbl_sum(matrix(1:10)) #> Description #> \"int [10 × 1]\" tbl_sum(data.frame(a = 1)) #> Description #> \"df [1 × 1]\" tbl_sum(Sys.Date()) #> Description #> \"date [1]\" tbl_sum(Sys.time()) #> Description #> \"dttm [1]\" tbl_sum(mean) #> Description #> \"fn\""},{"path":"https://pillar.r-lib.org/dev/reference/type_sum.html","id":null,"dir":"Reference","previous_headings":"","what":"Provide a succinct summary of an object — type_sum","title":"Provide a succinct summary of an object — type_sum","text":"type_sum() gives brief summary object type. Objects commonly occur data frame return string four less characters. inputs, argument forwarded vctrs::vec_ptype_abbr(). obj_sum() also includes size (shape) object vctrs::vec_is() TRUE. always return string (character vector length one). pillar v1.6.1, default method forwards vctrs::vec_ptype_abbr() vectors type_sum() objects. Previous versions always forwarded type_sum(). attribute named \"short\" return value picked pillar_shaft() method lists, used space limited. size_sum() called obj_sum() format size object. always return string (character vector length one), can empty string \"\" omit size information, default method scalars.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/type_sum.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Provide a succinct summary of an object — type_sum","text":"","code":"type_sum(x) obj_sum(x) size_sum(x)"},{"path":"https://pillar.r-lib.org/dev/reference/type_sum.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Provide a succinct summary of an object — type_sum","text":"x object summarise. Generally methods atomic vectors variants implemented.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/type_sum.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Provide a succinct summary of an object — type_sum","text":"formatting pillar, type_sum() called slice column vector. formatted type depend type data, avoid confusion.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/type_sum.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Provide a succinct summary of an object — type_sum","text":"","code":"obj_sum(1:10) #> [1] \"int [10]\" #> attr(,\"short\") #> [1] \"int\" obj_sum(matrix(1:10)) #> [1] \"int [10 × 1]\" #> attr(,\"short\") #> [1] \"int[…]\" obj_sum(data.frame(a = 1)) #> [1] \"df [1 × 1]\" #> attr(,\"short\") #> [1] \"df\" obj_sum(Sys.Date()) #> [1] \"date [1]\" #> attr(,\"short\") #> [1] \"date\" obj_sum(Sys.time()) #> [1] \"dttm [1]\" #> attr(,\"short\") #> [1] \"dttm\" obj_sum(mean) #> [1] \"fn\" size_sum(1:10) #> [1] \"[10]\" size_sum(trees) #> [1] \"[31 × 3]\" size_sum(Titanic) #> [1] \"[4 × 2 × 2 × 2]\""},{"path":[]},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-9-99-9900","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.9.99.9900","text":"tbl_format_setup() gains setup argument supports printing header data body available, e.g., remote backends databases (#686). New tbl_nrow() support lazy data frames (#679). Show missing values red glimpse() (@ryanzomorrodi, #662). Math operations num() objects now pass additional arguments mathematical function (@gvelasq, #659, #660).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"documentation-1-9-99-9900","dir":"Changelog","previous_headings":"","what":"Documentation","title":"pillar 1.9.99.9900","text":"Update _pkgdown.yml bring back search bar (@olivroy, #667). implement type_sum.accel() pkgdown mode (#661). Avoid displaying deprecated argument @inheritDotParams (@olivroy, #657).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-190","dir":"Changelog","previous_headings":"","what":"pillar 1.9.0","title":"pillar 1.9.0","text":"CRAN release: 2023-03-22","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-9-0","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.9.0","text":"Math operations num() objects longer perform type checks. allows, e.g., multiplying num() logical (#630, #632).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"printing-1-9-0","dir":"Changelog","previous_headings":"","what":"Printing","title":"pillar 1.9.0","text":"default pillar.min_title_chars option bumped 20 characters title truncuation affects long variables. Use options(pillar.min_title_chars = 5) reset previous default (#582, #620). Use info bullets format details (#582, #617, #627, #635).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"breaking-changes-1-9-0","dir":"Changelog","previous_headings":"","what":"Breaking changes","title":"pillar 1.9.0","text":"colonnade(), extra_cols() squeeze() now hard-deprecated (#272, #374, #631).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-9-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.9.0","text":"Show colnames() hint needed (tidyverse/tibble#1488, #622). Fix printing small numbers (#615, #619). Shortened list columns also shown subtle style (#628, #634). Avoid warning S4 character classes (tidyverse/tibble#1367, #625). Fix method consistency, checked R-devel (#633).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"documentation-1-9-0","dir":"Changelog","previous_headings":"","what":"Documentation","title":"pillar 1.9.0","text":"Polish ?pillar_options (#583). Fix typo & missing quote digits vignette stub (@gavinsimpson, #629).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-9-0","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.9.0","text":"Require vctrs >= 0.5.0","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-181","dir":"Changelog","previous_headings":"","what":"pillar 1.8.1","title":"pillar 1.8.1","text":"CRAN release: 2022-08-19","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-8-1","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.8.1","text":"New pillar.advice option turn advice footer, see ?pillar_options. Now default non-interactive mode (#577).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-180","dir":"Changelog","previous_headings":"","what":"pillar 1.8.0","title":"pillar 1.8.0","text":"CRAN release: 2022-07-18","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"display-1-8-0","dir":"Changelog","previous_headings":"","what":"Display","title":"pillar 1.8.0","text":"Column names abbreviated header gain footnote printed full footer (#483), extra columns (#548). column name header abbreviated, backticks removed (#525). new \"pillar.superdigit_sep\" option determines string used separate footnote column name footer (#553). default value pillar.min_title_width option changed 5. means effectively width pillar decided data. Use options(pillar.min_title_width = 15) restore previous default, see also ?pillar_options details (#531). Offer advice footer print columns rows (#567). Avoid aligning NA inside quotes short character vectors (#562).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-8-0","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.8.0","text":"Pick \"pillar_focus\" attribute printing define focus columns (#549). New ctl_new_rowid_pillar() generic default method customizing appearance row IDs (#260, #550, @nbenn).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-8-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.8.0","text":"Fix printing Surv Surv2 objects (#561). Fix wording corner case max_extra_cols = 1 (#535). Remove excess underlines bit64::integer64() data different magnitude (#517, #529).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"documentation-1-8-0","dir":"Changelog","previous_headings":"","what":"Documentation","title":"pillar 1.8.0","text":"ctl_new_pillar_list() documented separate help page (#516). Remove outdated detail ?tbl_sum (@IndrajeetPatil, #565).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"chore-1-8-0","dir":"Changelog","previous_headings":"","what":"Chore","title":"pillar 1.8.0","text":"Drop crayon dependency (#559). Import ellipsis rlang (#554). Skip test requires lubridate ’s installed (#505, @MichaelChirico).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"api-1-8-0","dir":"Changelog","previous_headings":"","what":"API","title":"pillar 1.8.0","text":"Soft-deprecate colonnade(), squeeze() extra_cols() (#496). Require rlang 1.0.1 (#512).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-170","dir":"Changelog","previous_headings":"","what":"pillar 1.7.0","title":"pillar 1.7.0","text":"CRAN release: 2022-02-01","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"breaking-changes-1-7-0","dir":"Changelog","previous_headings":"","what":"Breaking changes","title":"pillar 1.7.0","text":"colonnade() now soft-deprecated (#485). expect_known_display() is_vector_s3() now deprecated (#460, #501). new_pillar() deprecates extra argument (#497).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-7-0","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.7.0","text":"Focus columns specified via focus argument tbl_format_setup() kept original place shown maximum width “type” component underlined (#465).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-7-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.7.0","text":"Update s3_register() use new implementation rlang, fixes CRAN checks related scale_type() (#462).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-7-0","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.7.0","text":"Single pillars constructed pillar() use much width required printing (#484).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-165","dir":"Changelog","previous_headings":"","what":"pillar 1.6.5","title":"pillar 1.6.5","text":"CRAN release: 2022-01-25","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"breaking-changes-1-6-5","dir":"Changelog","previous_headings":"","what":"Breaking changes","title":"pillar 1.6.5","text":"New ctl_new_pillar_list(), supersedes ctl_new_compound_pillar() (#433).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-6-5","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.6.5","text":"sub-columns data frame matrix column shown, names types remaining columns displayed footer (#365, #444). num(fixed_exponent = ...) now represented fixed exponent pillar header, title ggplot2 (#307). tbl_format_setup() gains focus argument expects character vector column names. Focus columns moved front separated main columns subtle vertical line (#384). New scale_x_num() scale_y_num(). column created num() used ggplot, x y scale formatted automatically according specification (#400, #404). List columns omit size information horizontal space insufficient (#392). column title backticked column abbreviated, trailing backtick still printed (#391). new_pillar_shaft_simple() gains short_formatted argument contains data used horizontal space insufficient (#389). Default obj_sum() method returns abbreviation attribute return value (#390).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-6-5","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.6.5","text":"Extra columns footer show backticks non-syntactic (#393). Fixed cases combinations printed width getOption(\"width\") (#432). Fix support nanotime::nanotime() classes (#378, #380).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"documentation-1-6-5","dir":"Changelog","previous_headings":"","what":"Documentation","title":"pillar 1.6.5","text":"?num ?char now point tibble (#382).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-6-5","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.6.5","text":"Use eager registration via NAMESPACE methods classes packages. Reworked formatting routine, now using visitor-based approach -order iteration pillars. visible changes usage free space (case limited space) slightly improved (#435). Prepared removal dependency crayon package (#233, #406). Use snapshot variants, requires testthat >= 3.1.1 (#387). Replace internal \"pillar_vertical\" class glue::as_glue() (#279).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-164","dir":"Changelog","previous_headings":"","what":"pillar 1.6.4","title":"pillar 1.6.4","text":"CRAN release: 2021-10-18","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-6-4","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.6.4","text":"Fix printing tibbles fixed-width column followed column variable width (#366). Avoid nested backtick blocks vignette.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"breaking-changes-1-6-4","dir":"Changelog","previous_headings":"","what":"Breaking changes","title":"pillar 1.6.4","text":"num() requires integerish digits argument (#362).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"documentation-1-6-4","dir":"Changelog","previous_headings":"","what":"Documentation","title":"pillar 1.6.4","text":"Link tibble vignettes documentation pages.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-163","dir":"Changelog","previous_headings":"","what":"pillar 1.6.3","title":"pillar 1.6.3","text":"CRAN release: 2021-09-26 Avoid blanket import lifecycle package compatibility upcoming rlang (#368, @romainfrancois).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-162","dir":"Changelog","previous_headings":"","what":"pillar 1.6.2","title":"pillar 1.6.2","text":"CRAN release: 2021-07-29","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"options-1-6-2","dir":"Changelog","previous_headings":"","what":"Options","title":"pillar 1.6.2","text":"Options pillar.print_max, pillar.print_min, pillar.width pillar.max_extra_cols now queried corresponding tibble. dplyr. options consulted, latter soft-deprecated pillar v2.0.0 (#353). New pillar.bidi option. active, control characters inserted improve display data right--left text (#333). new pillar.max_footer_lines option (default: 7) allows controlling maximum number footer lines shown. applied addition existing tibble.max_extra_cols option (#263).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"formatting-1-6-2","dir":"Changelog","previous_headings":"","what":"Formatting","title":"pillar 1.6.2","text":"column doesn’t make use horizontal width offered , excess width distributed columns (#331). Improved allocation free space multi-tier tables getOption(\"tibble.width\") > getOption(\"width\") (#344). pillars shown true horizontal extent, irrespective indicated width. simplifies implementation custom pillar_shaft() methods (#347).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-6-2","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.6.2","text":"num() gains extra_sigfig argument automatically show significant figures numbers magnitude subtle differences (#97). print.tbl() format.tbl() support max_extra_cols max_footer_lines arguments override corresponding options (#360). print.tbl() format.tbl() maps now deprecated n_extra argument max_extra_cols consistency (#360).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-6-2","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.6.2","text":"Avoid mangling duplicate column names footer (#332). Fix warning zero type bit64::integer64() (#319).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"documentation-1-6-2","dir":"Changelog","previous_headings":"","what":"Documentation","title":"pillar 1.6.2","text":"package options now documented ?pillar_options (#339). obj_sum() longer calls type_sum() vectors since pillar v1.6.1, now documented (#321). Fix documentation usage vctrs::vec_proxy() vctrs::vec_restore() (#322).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-6-2","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.6.2","text":"Using attr(exact = TRUE) everywhere. is_vector_s3() longer generic (#181). Fix internal logic around vec_proxy() vec_restore() (#316).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-161","dir":"Changelog","previous_headings":"","what":"pillar 1.6.1","title":"pillar 1.6.1","text":"CRAN release: 2021-05-16 Bump required versions ellipsis vctrs avoid warning package load. obj_sum() longer includes shape twice (#315).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-160","dir":"Changelog","previous_headings":"","what":"pillar 1.6.0","title":"pillar 1.6.0","text":"CRAN release: 2021-04-13","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-6-0","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.6.0","text":"New num() char() offer flexible way customize display numeric character columns (#191, #84). New \"pillar.max_dec_width\" option (#308). New format_type_sum.AsIs() avoids need implement format_type_sum() method (#286). align() gains space argument control character used filling (#285). Numbers scientific decimal notation formatted rules regarding significant decimal digits (#297).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-6-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.6.0","text":"Load debugme package DEBUGME environment variable set. accurate detection decimal dot necessary, many digits show decimal dot (#298). Use display width instead number characters truncating character columns.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"documentation-1-6-0","dir":"Changelog","previous_headings":"","what":"Documentation","title":"pillar 1.6.0","text":"New vignette(\"numbers\") vignette(\"digits\") (#308).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-6-0","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.6.0","text":"Compatibility vctrs 0.3.7 (#291). format.pillar_shaft_simple() requires \"na\" attribute longer defaults pillar_na() (#273).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-151","dir":"Changelog","previous_headings":"","what":"pillar 1.5.1","title":"pillar 1.5.1","text":"CRAN release: 2021-03-05","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-5-1","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.5.1","text":"New format_glimpse() (#177).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-5-1","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.5.1","text":"Color formatting can now reliably turned setting \"cli.num_colors\" option 1 (#269).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"documentation-1-5-1","dir":"Changelog","previous_headings":"","what":"Documentation","title":"pillar 1.5.1","text":"Add examples new functions (#264). Fix lifecycle badges everywhere.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-150","dir":"Changelog","previous_headings":"","what":"pillar 1.5.0","title":"pillar 1.5.0","text":"CRAN release: 2021-02-22","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"breaking-changes-1-5-0","dir":"Changelog","previous_headings":"","what":"Breaking changes","title":"pillar 1.5.0","text":"obj_sum() now always returns string. pillar_shaft.list() iterates elements calls obj_sum() (#137). Breaking: print.pillar() print.pillar_ornament() now show first line (#227, #228). pillar re-licensed MIT (#215).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"extensibility-1-5-0","dir":"Changelog","previous_headings":"","what":"Extensibility","title":"pillar 1.5.0","text":"New size_sum() generic (#239). New ctl_new_pillar() ctl_new_compound_pillar() used via print.tbl(), format.tbl() tbl_format_setup.tbl() (#230). New new_pillar() low-level constructor (#230). New new_pillar_component() pillar_component() (#230). New articles vignette(\"extending\") vignette(\"printing\") (#251).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"formatting-1-5-0","dir":"Changelog","previous_headings":"","what":"Formatting","title":"pillar 1.5.0","text":"printing code moved tibble pillar (#179), including glimpse() (#234). concentrates printing code one package allows better extensibility. New experimental generics tbl_format_setup(), tbl_format_header(), tbl_format_body() tbl_format_footer() (#179). Move definition tbl_sum() package (#179). Improve formatting \"Surv\" \"Surv2\" classes survival package (#199). Vectors vctrs_unspecified() class formatted better (#256). Arrays now formatted showing first slice (#142). Avoid wrapping extra column names spaces (#254).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-5-0","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.5.0","text":"Now using debugme simplify understand complex control flow, see vignette(\"debugme\") (#248). New format.pillar_ornament() (#228). Using testthat 3e (#218). Avoid pillar.bold option tests (#216). Change internal storage format colonnade() extra_cols() (#204).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-147","dir":"Changelog","previous_headings":"","what":"pillar 1.4.7","title":"pillar 1.4.7","text":"CRAN release: 2020-11-20 Adapt changed environment CRAN’s Solaris machine.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-146","dir":"Changelog","previous_headings":"","what":"pillar 1.4.6","title":"pillar 1.4.6","text":"CRAN release: 2020-07-10 Restore compatibility R 3.2.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-145","dir":"Changelog","previous_headings":"","what":"pillar 1.4.5","title":"pillar 1.4.5","text":"CRAN release: 2020-07-09","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"features-1-4-5","dir":"Changelog","previous_headings":"","what":"Features","title":"pillar 1.4.5","text":"New pillar.min_chars option allows controlling minimum number characters shown character column (#178, @statsmaths). bit64::integer64() columns now formatted way numeric columns (#175). New align() support easy alignment strings within character vector (existing function exported @davidchall, #185).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"technical-1-4-5","dir":"Changelog","previous_headings":"","what":"Technical","title":"pillar 1.4.5","text":"pillar_shaft(), format_type_sum() extra_cols() issue warning dots unused. new_pillar_title() new_pillar_type() warn ... empty.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-4-5","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.4.5","text":"Use lifecycle package. Remove compatibility code R < 3.3.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-144","dir":"Changelog","previous_headings":"","what":"pillar 1.4.4","title":"pillar 1.4.4","text":"CRAN release: 2020-05-05 obj_sum() uses vctrs::vec_size() internally. is_vector_s3.default() soft-deprecated longer used. Please ensure vctrs::vec_is() TRUE class. Rely vctrs type abbreviations.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-143","dir":"Changelog","previous_headings":"","what":"pillar 1.4.3","title":"pillar 1.4.3","text":"CRAN release: 2019-12-20 new_pillar_shaft_simple() gains na argument control appearance NA values. String columns quoted least one value needs quotes (#171). Apply subtle style list_of columns (#172). Fix formatting mantissa close 1 (#174). Use .character() instead as_character(). Remove compatibility testthat < 2.0.0.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-142","dir":"Changelog","previous_headings":"","what":"pillar 1.4.2","title":"pillar 1.4.2","text":"CRAN release: 2019-06-29 List columns shown perceived dimensions, may different stored \"dim\" attribute. Regression introduced 1.4.0 (#167). Add ellipsis vec_ptype_abbr() method.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-141","dir":"Changelog","previous_headings":"","what":"pillar 1.4.1","title":"pillar 1.4.1","text":"CRAN release: 2019-05-28 careful specification minimum package versions dependencies (#165). Fix type_sum.vctrs_vctr() also led NOTE R CMD check. Resolve vec_is() runtime instead .onLoad() (#163, @lionel-). Implement methods vctrs objects.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-140","dir":"Changelog","previous_headings":"","what":"pillar 1.4.0","title":"pillar 1.4.0","text":"CRAN release: 2019-05-11","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"breaking-changes-1-4-0","dir":"Changelog","previous_headings":"","what":"Breaking changes","title":"pillar 1.4.0","text":"type_sum() forwards vctrs::vec_ptype_abbr() (#134). makes sure list_of columns (values type) properly displayed. value returned factor complex remains unchanged, change vctrs. class argument new_pillar_shaft() deprecates existing subclass argument. Passing subclass argument leads warning per session (#157).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"output-1-4-0","dir":"Changelog","previous_headings":"","what":"Output","title":"pillar 1.4.0","text":"Removed extra space pillars negative value lower magnitude largest positive value (example: -1 23). 0-col tibble matrix columns now formatted capital containing [,0] empty shaft (#149).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"performance-1-4-0","dir":"Changelog","previous_headings":"","what":"Performance","title":"pillar 1.4.0","text":"squeeze() now faster (width computation pillar_shaft.numeric() now uses arithmetics instead string concatenation). speedups may require implementation crucial parts C (#147). Styling output faster: expensive check availability colored output carried per call colonnade(), styling implemented manually (#133, @jimhester).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-4-0","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.4.0","text":"internal S3 classes pillar_ prefix (#156). check native output Windows, due subtle differences running Linux latin1 locale.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-131","dir":"Changelog","previous_headings":"","what":"pillar 1.3.1","title":"pillar 1.3.1","text":"CRAN release: 2018-12-15","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-3-1","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.3.1","text":"Fix --one error distribution empty space (#141).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"visible-changes-1-3-1","dir":"Changelog","previous_headings":"","what":"Visible changes","title":"pillar 1.3.1","text":"NA names longer escaped backticks. Don’t add quotes pillars formatted format() method (tidyverse/tibble#448).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-changes-1-3-1","dir":"Changelog","previous_headings":"","what":"Internal changes","title":"pillar 1.3.1","text":"Update base type abbrevs rlang 0.3.0 (#140, @lionel-). Tests work 256-color terminal (#129).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-130","dir":"Changelog","previous_headings":"","what":"pillar 1.3.0","title":"pillar 1.3.0","text":"CRAN release: 2018-07-14","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"visible-changes-1-3-0","dir":"Changelog","previous_headings":"","what":"Visible changes","title":"pillar 1.3.0","text":"Unknown data types formatted using format(), .character() (#120). Multi-tier colonnades can always fill last tier, even width isn’t proper multiple getOption(\"width\"). (Example: options(width = 80, tibble.width = 200) print wide tibble three tiers, 80 characters wide, total width 240 characters.) Fixed mixed formatting (showing pillars maximum, minimum width). pillar’s minimum width smaller getOption(\"width\"), shown nevertheless, abbreviated dots necessary.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"interface-changes-1-3-0","dir":"Changelog","previous_headings":"","what":"Interface changes","title":"pillar 1.3.0","text":"format_type_sum() gains width argument (#73).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"performance-improvements-1-3-0","dir":"Changelog","previous_headings":"","what":"Performance improvements","title":"pillar 1.3.0","text":"Printing large multi-tier colonnades much faster, code distributes pillars tiers uses much simpler much faster algorithm (tidyverse/tibble#422). Printing now faster overall, less work done formatting “subtle” style (gray fixed level), fansi::strip_sgr() used instead crayon::strip_style(). Slightly faster printing colonnades reusing intermediate result.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"internal-1-3-0","dir":"Changelog","previous_headings":"","what":"Internal","title":"pillar 1.3.0","text":"pillar() longer adds backticks title non-syntactic. colonnade() supports data frames matrices. printing, sub-column shown individually, using title resembles syntax used access . Also supports recursively nested data frames (data frame matrix columns). Added fuzz tests character colonnades varying widths. Use fansi::substr_ctl() favor crayon::col_substr().","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-123","dir":"Changelog","previous_headings":"","what":"pillar 1.2.3","title":"pillar 1.2.3","text":"CRAN release: 2018-05-25 Eliminate CRAN check warning undeclared withr dependency. defensive test address CRAN check failures Solaris. colonnade() now handles pillars named \"sep\" (#115). pillar_shaft.character() gains min_width argument.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-122","dir":"Changelog","previous_headings":"","what":"pillar 1.2.2","title":"pillar 1.2.2","text":"CRAN release: 2018-04-26 Whole numbers printed without decimal dot . Numbers result whole number divided power 10 (subject tolerance account floating-point imprecision) shown without trailing decimal zeros, even zeros significant according pillar.sigfig option (#105). New new_pillar_title() new_pillar_type() support consistent output glimpse() (#31). New format_type_sum() generic allows overriding formatting type summary capital (#73). digits.secs option respected computing width date-time values (#102).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-121","dir":"Changelog","previous_headings":"","what":"pillar 1.2.1","title":"pillar 1.2.1","text":"CRAN release: 2018-02-27","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"display-1-2-1","dir":"Changelog","previous_headings":"","what":"Display","title":"pillar 1.2.1","text":"Turned using subtle style digits considered insignificant. Negative numbers shown red. Set new option pillar.subtle_num TRUE turn (default: FALSE). negation sign printed next number (#91). Scientific notation uses regular digits exponents (#90). Groups three digits now underlined, starting fourth /decimal point. gives better idea order magnitude numbers (#78). Logical columns displayed TRUE FALSE (#95). decimal dot now always printed numbers type numeric. Trailing zeros shown anymore displayed numbers whole numbers (#62). Decimal values longer 13 characters always print scientific notation.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"bug-fixes-1-2-1","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"pillar 1.2.1","text":"Numeric values \"class\" attribute (e.g., Duration lubridate) now formatted using format() pillar_shaft() method implemented class (#88). small numbers (like 1e-310) now printed correctly (tidyverse/tibble#377). Fix representation right-hand side getOption(\"pillar.sigfig\") >= 6 (tidyverse/tibble#380). Fix computation significant figures numbers absolute value >= 1 (#98).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"new-functions-1-2-1","dir":"Changelog","previous_headings":"","what":"New functions","title":"pillar 1.2.1","text":"New styling helper style_subtle_num(), formatting depends pillar.subtle_num option.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-110","dir":"Changelog","previous_headings":"","what":"pillar 1.1.0","title":"pillar 1.1.0","text":"CRAN release: 2018-01-14 NA values now shown plain red, without changing background color (#70). pillar.sigfig control number significant digits, highlighting truncation (#72), pillar.subtle specify insignificant digits printed gray (#72), pillar.neg specify negative digits printed red, pillar.bold specify column headers printed bold (default: FALSE, #76), pillar.min_title_chars specify minimum number characters display column name (default: 15 characters, #75). Shortened abbreviations types: complex: cplx -> cpl, function: fun -> fn, factor: fctr -> fct (#71). Date columns now show sub-seconds digits.secs option set (#74). wide tibbles now print faster (#85).","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-101","dir":"Changelog","previous_headings":"","what":"pillar 1.0.1","title":"pillar 1.0.1","text":"CRAN release: 2017-11-27 Work around failing CRAN tests Windows.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"pillar-100","dir":"Changelog","previous_headings":"","what":"pillar 1.0.0","title":"pillar 1.0.0","text":"CRAN release: 2017-11-20 Initial release.","code":""},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"user-functions-1-0-0","dir":"Changelog","previous_headings":"","what":"User functions","title":"pillar 1.0.0","text":"","code":"pillar(x, title = NULL, width = NULL, ...) colonnade(x, has_row_id = TRUE, width = NULL, ...) squeeze(x, width = NULL, ...)"},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"functions-for-implementers-of-data-types-1-0-0","dir":"Changelog","previous_headings":"","what":"Functions for implementers of data types","title":"pillar 1.0.0","text":"","code":"new_pillar_shaft_simple(formatted, ..., width = NULL, align = \"left\", min_width = NULL, na_indent = 0L) new_pillar_shaft(x, ..., width, min_width = width, subclass) new_ornament(x, width = NULL, align = NULL) get_extent(x) get_max_extent(x)"},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"utilities-1-0-0","dir":"Changelog","previous_headings":"","what":"Utilities","title":"pillar 1.0.0","text":"","code":"dim_desc(x) style_na(x) style_neg(x) style_num(x, negative, significant = rep_along(x, TRUE)) style_subtle(x)"},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"testing-helper-1-0-0","dir":"Changelog","previous_headings":"","what":"Testing helper","title":"pillar 1.0.0","text":"","code":"expect_known_display(object, file, ..., width = 80L, crayon = TRUE)"},{"path":"https://pillar.r-lib.org/dev/news/index.html","id":"own-s3-methods-1-0-0","dir":"Changelog","previous_headings":"","what":"Own S3 methods","title":"pillar 1.0.0","text":"","code":"pillar_shaft(x, ...) # AsIs, Date, POSIXt, character, default, list, logical, numeric type_sum(x) # AsIs, Date, POSIXct, data.frame, default, difftime, factor, ordered is_vector_s3(x) # Date, POSIXct, data.frame, default, difftime, factor, ordered obj_sum(x) # AsIs, POSIXlt, default, list extra_cols(x, ...) # squeezed_colonnade"}]