diff --git a/dev/CODE_OF_CONDUCT.html b/dev/CODE_OF_CONDUCT.html index a7d3ef5df..32b7cf774 100644 --- a/dev/CODE_OF_CONDUCT.html +++ b/dev/CODE_OF_CONDUCT.html @@ -7,7 +7,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/LICENSE-text.html b/dev/LICENSE-text.html index d74f79920..d1b84d290 100644 --- a/dev/LICENSE-text.html +++ b/dev/LICENSE-text.html @@ -7,7 +7,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/LICENSE.html b/dev/LICENSE.html index 816be4e3a..dd4b0ef38 100644 --- a/dev/LICENSE.html +++ b/dev/LICENSE.html @@ -7,7 +7,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/articles/debugme.html b/dev/articles/debugme.html index 07ebfcd34..38f058956 100644 --- a/dev/articles/debugme.html +++ b/dev/articles/debugme.html @@ -24,7 +24,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/articles/digits.html b/dev/articles/digits.html index 876971b47..99e83c277 100644 --- a/dev/articles/digits.html +++ b/dev/articles/digits.html @@ -24,7 +24,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/articles/extending.html b/dev/articles/extending.html index fe02113d9..f9d730fe3 100644 --- a/dev/articles/extending.html +++ b/dev/articles/extending.html @@ -24,7 +24,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/articles/index.html b/dev/articles/index.html index bc794b8d0..d1857ef18 100644 --- a/dev/articles/index.html +++ b/dev/articles/index.html @@ -7,7 +7,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/articles/numbers.html b/dev/articles/numbers.html index dc5cb04ca..bbbf95c68 100644 --- a/dev/articles/numbers.html +++ b/dev/articles/numbers.html @@ -24,7 +24,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/articles/printing.html b/dev/articles/printing.html index 7940b426b..212066e9e 100644 --- a/dev/articles/printing.html +++ b/dev/articles/printing.html @@ -24,7 +24,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/authors.html b/dev/authors.html index 36457b1b8..b763c7c98 100644 --- a/dev/authors.html +++ b/dev/authors.html @@ -7,7 +7,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 @@ -63,13 +63,13 @@ Citation Müller K, Wickham H (2024). pillar: Coloured Formatting for Columns. -R package version 1.9.99.9901, https://github.com/r-lib/pillar, https://pillar.r-lib.org/. +R package version 1.9.99.9903, https://github.com/r-lib/pillar, https://pillar.r-lib.org/. @Manual{, title = {pillar: Coloured Formatting for Columns}, author = {Kirill Müller and Hadley Wickham}, year = {2024}, - note = {R package version 1.9.99.9901, https://github.com/r-lib/pillar}, + note = {R package version 1.9.99.9903, https://github.com/r-lib/pillar}, url = {https://pillar.r-lib.org/}, } diff --git a/dev/index.html b/dev/index.html index 1bca49b80..9bf93ea1f 100644 --- a/dev/index.html +++ b/dev/index.html @@ -26,7 +26,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/news/index.html b/dev/news/index.html index e67d43806..d8ac514fa 100644 --- a/dev/news/index.html +++ b/dev/news/index.html @@ -7,7 +7,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 @@ -41,6 +41,29 @@ Changelog Source: NEWS.md + +pillar 1.9.99.9903 + +Chore +IDE. + + + +pillar 1.9.99.9902 + +Chore +Breaking change: Hard-deprecate ellipsis for printing and formatting (#585, #637). + + +Testing +Snapshot updates for R-CMD-check-dev ({“package”:“ggplot2”}) (#670). +Fix tests for older R versions. + + +Breaking changes +Breaking change: Hard-deprecate ellipsis for printing and formatting (#585, #637). + + pillar 1.9.99.9901 diff --git a/dev/pkgdown.yml b/dev/pkgdown.yml index f6a17fb56..36861521f 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-15T15:12Z +last_built: 2024-12-17T22:03Z urls: reference: https://pillar.r-lib.org/reference article: https://pillar.r-lib.org/articles diff --git a/dev/reference/align.html b/dev/reference/align.html index 4c947c486..0c5d28766 100644 --- a/dev/reference/align.html +++ b/dev/reference/align.html @@ -9,7 +9,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/char.html b/dev/reference/char.html index 01b9b82c0..c80398c6c 100644 --- a/dev/reference/char.html +++ b/dev/reference/char.html @@ -7,7 +7,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/colonnade.html b/dev/reference/colonnade.html index 3f99c9d2d..b96d533f9 100644 --- a/dev/reference/colonnade.html +++ b/dev/reference/colonnade.html @@ -17,7 +17,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/ctl_new_pillar.html b/dev/reference/ctl_new_pillar.html index 201d0eb9a..fac7aa829 100644 --- a/dev/reference/ctl_new_pillar.html +++ b/dev/reference/ctl_new_pillar.html @@ -15,7 +15,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/ctl_new_pillar_list.html b/dev/reference/ctl_new_pillar_list.html index bea46a21c..9b5db0f98 100644 --- a/dev/reference/ctl_new_pillar_list.html +++ b/dev/reference/ctl_new_pillar_list.html @@ -17,7 +17,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/deprecated.html b/dev/reference/deprecated.html index f448bb576..a58be95c2 100644 --- a/dev/reference/deprecated.html +++ b/dev/reference/deprecated.html @@ -11,7 +11,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/dim_desc.html b/dev/reference/dim_desc.html index 78933bdea..8efdc1969 100644 --- a/dev/reference/dim_desc.html +++ b/dev/reference/dim_desc.html @@ -9,7 +9,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/extra_cols.html b/dev/reference/extra_cols.html index cd8c1fa82..c2f7e79b3 100644 --- a/dev/reference/extra_cols.html +++ b/dev/reference/extra_cols.html @@ -13,7 +13,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/format_glimpse.html b/dev/reference/format_glimpse.html index c8f2552fa..89e19715c 100644 --- a/dev/reference/format_glimpse.html +++ b/dev/reference/format_glimpse.html @@ -25,7 +25,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/format_tbl.html b/dev/reference/format_tbl.html index adbe8df34..b26cba2a9 100644 --- a/dev/reference/format_tbl.html +++ b/dev/reference/format_tbl.html @@ -7,7 +7,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/format_type_sum.html b/dev/reference/format_type_sum.html index 523a4e6b2..68631776b 100644 --- a/dev/reference/format_type_sum.html +++ b/dev/reference/format_type_sum.html @@ -9,7 +9,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/get_extent.html b/dev/reference/get_extent.html index a9327068d..53d1fbec0 100644 --- a/dev/reference/get_extent.html +++ b/dev/reference/get_extent.html @@ -13,7 +13,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/glimpse.html b/dev/reference/glimpse.html index 64319768a..819bfe523 100644 --- a/dev/reference/glimpse.html +++ b/dev/reference/glimpse.html @@ -21,7 +21,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/index.html b/dev/reference/index.html index 3288c2d8c..702bc44e4 100644 --- a/dev/reference/index.html +++ b/dev/reference/index.html @@ -7,7 +7,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/new_ornament.html b/dev/reference/new_ornament.html index 09701b2a2..763eee1bf 100644 --- a/dev/reference/new_ornament.html +++ b/dev/reference/new_ornament.html @@ -15,7 +15,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/new_pillar.html b/dev/reference/new_pillar.html index 99d18a06e..f84f0ed2d 100644 --- a/dev/reference/new_pillar.html +++ b/dev/reference/new_pillar.html @@ -13,7 +13,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/new_pillar_component.html b/dev/reference/new_pillar_component.html index fd061e699..60d24bade 100644 --- a/dev/reference/new_pillar_component.html +++ b/dev/reference/new_pillar_component.html @@ -17,7 +17,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/new_pillar_shaft.html b/dev/reference/new_pillar_shaft.html index 846b4c87f..a913389b2 100644 --- a/dev/reference/new_pillar_shaft.html +++ b/dev/reference/new_pillar_shaft.html @@ -49,7 +49,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/new_pillar_title.html b/dev/reference/new_pillar_title.html index ed843e99a..26b072747 100644 --- a/dev/reference/new_pillar_title.html +++ b/dev/reference/new_pillar_title.html @@ -7,7 +7,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/new_pillar_type.html b/dev/reference/new_pillar_type.html index c1fe24b07..b2d14abe5 100644 --- a/dev/reference/new_pillar_type.html +++ b/dev/reference/new_pillar_type.html @@ -9,7 +9,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/new_tbl_format_setup.html b/dev/reference/new_tbl_format_setup.html index 1a8f58760..a4197ff67 100644 --- a/dev/reference/new_tbl_format_setup.html +++ b/dev/reference/new_tbl_format_setup.html @@ -15,7 +15,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/num.html b/dev/reference/num.html index 30dfee868..f0cce347c 100644 --- a/dev/reference/num.html +++ b/dev/reference/num.html @@ -7,7 +7,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/pillar-package.html b/dev/reference/pillar-package.html index 50806eff5..2493b6133 100644 --- a/dev/reference/pillar-package.html +++ b/dev/reference/pillar-package.html @@ -13,7 +13,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/pillar.html b/dev/reference/pillar.html index cf0065070..8ec2028d3 100644 --- a/dev/reference/pillar.html +++ b/dev/reference/pillar.html @@ -11,7 +11,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/pillar_options.html b/dev/reference/pillar_options.html index 5c0955465..ab1173ba1 100644 --- a/dev/reference/pillar_options.html +++ b/dev/reference/pillar_options.html @@ -7,7 +7,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/pillar_shaft.html b/dev/reference/pillar_shaft.html index de0c28b91..4736d1bea 100644 --- a/dev/reference/pillar_shaft.html +++ b/dev/reference/pillar_shaft.html @@ -25,7 +25,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/scale_x_num.html b/dev/reference/scale_x_num.html index 1ac691aaa..4a17a5cc7 100644 --- a/dev/reference/scale_x_num.html +++ b/dev/reference/scale_x_num.html @@ -9,7 +9,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/squeeze.html b/dev/reference/squeeze.html index d7549650c..b70a1fa29 100644 --- a/dev/reference/squeeze.html +++ b/dev/reference/squeeze.html @@ -15,7 +15,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/style_subtle.html b/dev/reference/style_subtle.html index 68b3a901e..357e8e691 100644 --- a/dev/reference/style_subtle.html +++ b/dev/reference/style_subtle.html @@ -9,7 +9,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/tbl_format_body.html b/dev/reference/tbl_format_body.html index 00784ce81..3ca09f0aa 100644 --- a/dev/reference/tbl_format_body.html +++ b/dev/reference/tbl_format_body.html @@ -23,7 +23,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/tbl_format_footer.html b/dev/reference/tbl_format_footer.html index 41e855bda..32361fd2e 100644 --- a/dev/reference/tbl_format_footer.html +++ b/dev/reference/tbl_format_footer.html @@ -23,7 +23,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/tbl_format_header.html b/dev/reference/tbl_format_header.html index 4521cc550..ac24856fa 100644 --- a/dev/reference/tbl_format_header.html +++ b/dev/reference/tbl_format_header.html @@ -25,7 +25,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/tbl_format_setup.html b/dev/reference/tbl_format_setup.html index 100cf4e29..59c969613 100644 --- a/dev/reference/tbl_format_setup.html +++ b/dev/reference/tbl_format_setup.html @@ -43,7 +43,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/tbl_nrow.html b/dev/reference/tbl_nrow.html index adbdfa1dd..6198635bd 100644 --- a/dev/reference/tbl_nrow.html +++ b/dev/reference/tbl_nrow.html @@ -9,7 +9,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/tbl_sum.html b/dev/reference/tbl_sum.html index 7e373aff6..6a3338f83 100644 --- a/dev/reference/tbl_sum.html +++ b/dev/reference/tbl_sum.html @@ -13,7 +13,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/reference/type_sum.html b/dev/reference/type_sum.html index 683dfaef6..ab227b406 100644 --- a/dev/reference/type_sum.html +++ b/dev/reference/type_sum.html @@ -35,7 +35,7 @@ pillar - 1.9.99.9901 + 1.9.99.9903 diff --git a/dev/search.json b/dev/search.json index 8b1aeabf4..f3fe163b4 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.9901, 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.9901, 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/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":"width: width option controls output width. Setting options(pillar.width = ) larger value lead printing multiple tiers (stacks). 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
Müller K, Wickham H (2024). pillar: Coloured Formatting for Columns. -R package version 1.9.99.9901, https://github.com/r-lib/pillar, https://pillar.r-lib.org/. +R package version 1.9.99.9903, https://github.com/r-lib/pillar, https://pillar.r-lib.org/.
@Manual{, title = {pillar: Coloured Formatting for Columns}, author = {Kirill Müller and Hadley Wickham}, year = {2024}, - note = {R package version 1.9.99.9901, https://github.com/r-lib/pillar}, + note = {R package version 1.9.99.9903, https://github.com/r-lib/pillar}, url = {https://pillar.r-lib.org/}, }
NEWS.md
Snapshot updates for R-CMD-check-dev ({“package”:“ggplot2”}) (#670).
Fix tests for older R versions.