diff --git a/dev/CODE_OF_CONDUCT.html b/dev/CODE_OF_CONDUCT.html index 0465e41da..b79d9e774 100644 --- a/dev/CODE_OF_CONDUCT.html +++ b/dev/CODE_OF_CONDUCT.html @@ -7,7 +7,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/LICENSE-text.html b/dev/LICENSE-text.html index 220a258b9..c486deff2 100644 --- a/dev/LICENSE-text.html +++ b/dev/LICENSE-text.html @@ -7,7 +7,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/LICENSE.html b/dev/LICENSE.html index c7da91246..cd806ce23 100644 --- a/dev/LICENSE.html +++ b/dev/LICENSE.html @@ -7,7 +7,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/articles/debugme.html b/dev/articles/debugme.html index 6cfca21cd..74692539e 100644 --- a/dev/articles/debugme.html +++ b/dev/articles/debugme.html @@ -24,7 +24,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/articles/digits.html b/dev/articles/digits.html index 0d4f6a8c0..2c678a49e 100644 --- a/dev/articles/digits.html +++ b/dev/articles/digits.html @@ -24,7 +24,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/articles/extending.html b/dev/articles/extending.html index 34878ef60..4361d2276 100644 --- a/dev/articles/extending.html +++ b/dev/articles/extending.html @@ -24,7 +24,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/articles/index.html b/dev/articles/index.html index 111747f70..d1d775811 100644 --- a/dev/articles/index.html +++ b/dev/articles/index.html @@ -7,7 +7,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/articles/numbers.html b/dev/articles/numbers.html index 56eaeca6d..c5006b5b9 100644 --- a/dev/articles/numbers.html +++ b/dev/articles/numbers.html @@ -24,7 +24,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/articles/printing.html b/dev/articles/printing.html index 8404e7545..864ab2ce8 100644 --- a/dev/articles/printing.html +++ b/dev/articles/printing.html @@ -24,7 +24,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/authors.html b/dev/authors.html index 1354062cb..f656506e8 100644 --- a/dev/authors.html +++ b/dev/authors.html @@ -7,7 +7,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 @@ -63,13 +63,13 @@ Citation Müller K, Wickham H (2024). pillar: Coloured Formatting for Columns. -R package version 1.9.0.9031, https://github.com/r-lib/pillar, https://pillar.r-lib.org/. +R package version 1.9.0.9035, 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.0.9031, https://github.com/r-lib/pillar}, + note = {R package version 1.9.0.9035, https://github.com/r-lib/pillar}, url = {https://pillar.r-lib.org/}, } diff --git a/dev/index.html b/dev/index.html index f71a96c43..076c338cd 100644 --- a/dev/index.html +++ b/dev/index.html @@ -26,7 +26,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/news/index.html b/dev/news/index.html index 0cb3c1f64..e0691c735 100644 --- a/dev/news/index.html +++ b/dev/news/index.html @@ -7,7 +7,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 @@ -41,6 +41,50 @@ Changelog Source: NEWS.md + +pillar 1.9.0.9035 + +Continuous integration +Ignore errors when removing pkg-config on macOS (#695). +Explicit permissions (#693). +Use styler from main branch (#691). +Need to install R on Ubuntu 24.04 (#689). +Use Ubuntu 24.04 and styler PR (#687). + + + +pillar 1.9.0.9034 + +Continuous integration +Ignore errors when removing pkg-config on macOS (#695). +Explicit permissions (#693). +Use styler from main branch (#691). +Need to install R on Ubuntu 24.04 (#689). +Use Ubuntu 24.04 and styler PR (#687). + + + +pillar 1.9.0.9033 + +Continuous integration +Ignore errors when removing pkg-config on macOS (#695). +Explicit permissions (#693). +Use styler from main branch (#691). +Need to install R on Ubuntu 24.04 (#689). +Use Ubuntu 24.04 and styler PR (#687). + + + +pillar 1.9.0.9032 + +Continuous integration +Ignore errors when removing pkg-config on macOS (#695). +Explicit permissions (#693). +Use styler from main branch (#691). +Need to install R on Ubuntu 24.04 (#689). +Use Ubuntu 24.04 and styler PR (#687). + + pillar 1.9.0.9031 diff --git a/dev/pkgdown.yml b/dev/pkgdown.yml index bf2f101a4..463b45f60 100644 --- a/dev/pkgdown.yml +++ b/dev/pkgdown.yml @@ -1,13 +1,13 @@ pandoc: 3.1.11 pkgdown: 2.1.1.9000 -pkgdown_sha: 7a6ffe4c64e7143ea31031cc8d5a0ba8359db5af +pkgdown_sha: dfa28bef27858bd442334b5cce8f645d555914be articles: debugme: debugme.html digits: digits.html extending: extending.html numbers: numbers.html printing: printing.html -last_built: 2024-11-27T08:54Z +last_built: 2024-12-06T08:14Z 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 d23f2e395..b4109fba9 100644 --- a/dev/reference/align.html +++ b/dev/reference/align.html @@ -9,7 +9,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/char.html b/dev/reference/char.html index df1a4aff8..bff73a544 100644 --- a/dev/reference/char.html +++ b/dev/reference/char.html @@ -7,7 +7,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/colonnade.html b/dev/reference/colonnade.html index 53e67fbab..8e86209c9 100644 --- a/dev/reference/colonnade.html +++ b/dev/reference/colonnade.html @@ -17,7 +17,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/ctl_new_pillar.html b/dev/reference/ctl_new_pillar.html index 419d92e28..0ce6a3a90 100644 --- a/dev/reference/ctl_new_pillar.html +++ b/dev/reference/ctl_new_pillar.html @@ -15,7 +15,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/ctl_new_pillar_list.html b/dev/reference/ctl_new_pillar_list.html index 1c26a9ba6..df18e7665 100644 --- a/dev/reference/ctl_new_pillar_list.html +++ b/dev/reference/ctl_new_pillar_list.html @@ -17,7 +17,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/deprecated.html b/dev/reference/deprecated.html index d71beffe9..e12215634 100644 --- a/dev/reference/deprecated.html +++ b/dev/reference/deprecated.html @@ -11,7 +11,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/dim_desc.html b/dev/reference/dim_desc.html index ad86e8291..2b55b5f6a 100644 --- a/dev/reference/dim_desc.html +++ b/dev/reference/dim_desc.html @@ -9,7 +9,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/extra_cols.html b/dev/reference/extra_cols.html index 31e256e16..90d5317c3 100644 --- a/dev/reference/extra_cols.html +++ b/dev/reference/extra_cols.html @@ -13,7 +13,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/format_glimpse.html b/dev/reference/format_glimpse.html index 4c7d0edac..efd996033 100644 --- a/dev/reference/format_glimpse.html +++ b/dev/reference/format_glimpse.html @@ -25,7 +25,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/format_tbl.html b/dev/reference/format_tbl.html index 7dc28493a..6549c7c97 100644 --- a/dev/reference/format_tbl.html +++ b/dev/reference/format_tbl.html @@ -7,7 +7,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/format_type_sum.html b/dev/reference/format_type_sum.html index dc43fddf7..59f1a59fb 100644 --- a/dev/reference/format_type_sum.html +++ b/dev/reference/format_type_sum.html @@ -9,7 +9,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/get_extent.html b/dev/reference/get_extent.html index 5a54331b4..8332d831f 100644 --- a/dev/reference/get_extent.html +++ b/dev/reference/get_extent.html @@ -13,7 +13,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/glimpse.html b/dev/reference/glimpse.html index af5c26ebc..a5298c071 100644 --- a/dev/reference/glimpse.html +++ b/dev/reference/glimpse.html @@ -21,7 +21,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/index.html b/dev/reference/index.html index 041f5a3fa..cd9255867 100644 --- a/dev/reference/index.html +++ b/dev/reference/index.html @@ -7,7 +7,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/new_ornament.html b/dev/reference/new_ornament.html index 78e47bd2c..22a7b7b58 100644 --- a/dev/reference/new_ornament.html +++ b/dev/reference/new_ornament.html @@ -15,7 +15,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/new_pillar.html b/dev/reference/new_pillar.html index fd253ef74..3409af3f0 100644 --- a/dev/reference/new_pillar.html +++ b/dev/reference/new_pillar.html @@ -13,7 +13,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/new_pillar_component.html b/dev/reference/new_pillar_component.html index 4d717a43c..1813db09f 100644 --- a/dev/reference/new_pillar_component.html +++ b/dev/reference/new_pillar_component.html @@ -17,7 +17,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/new_pillar_shaft.html b/dev/reference/new_pillar_shaft.html index 8b52c6c6c..9a6fb6bd8 100644 --- a/dev/reference/new_pillar_shaft.html +++ b/dev/reference/new_pillar_shaft.html @@ -49,7 +49,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/new_pillar_title.html b/dev/reference/new_pillar_title.html index bfddb2943..0afa5bdbf 100644 --- a/dev/reference/new_pillar_title.html +++ b/dev/reference/new_pillar_title.html @@ -7,7 +7,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/new_pillar_type.html b/dev/reference/new_pillar_type.html index 3ed05841a..226cb5b44 100644 --- a/dev/reference/new_pillar_type.html +++ b/dev/reference/new_pillar_type.html @@ -9,7 +9,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/new_tbl_format_setup.html b/dev/reference/new_tbl_format_setup.html index 287d05760..3e0effb84 100644 --- a/dev/reference/new_tbl_format_setup.html +++ b/dev/reference/new_tbl_format_setup.html @@ -15,7 +15,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/num.html b/dev/reference/num.html index 0237430cb..aa82a8363 100644 --- a/dev/reference/num.html +++ b/dev/reference/num.html @@ -7,7 +7,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/pillar-package.html b/dev/reference/pillar-package.html index 66bb329e9..9a1e2c3da 100644 --- a/dev/reference/pillar-package.html +++ b/dev/reference/pillar-package.html @@ -13,7 +13,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/pillar.html b/dev/reference/pillar.html index 6627ce71c..9379effb9 100644 --- a/dev/reference/pillar.html +++ b/dev/reference/pillar.html @@ -11,7 +11,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/pillar_options.html b/dev/reference/pillar_options.html index f9b0a750f..357d712e5 100644 --- a/dev/reference/pillar_options.html +++ b/dev/reference/pillar_options.html @@ -7,7 +7,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/pillar_shaft.html b/dev/reference/pillar_shaft.html index 75488ed1a..503ab3b42 100644 --- a/dev/reference/pillar_shaft.html +++ b/dev/reference/pillar_shaft.html @@ -25,7 +25,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/scale_x_num.html b/dev/reference/scale_x_num.html index 5712c6b01..278bdc5c7 100644 --- a/dev/reference/scale_x_num.html +++ b/dev/reference/scale_x_num.html @@ -9,7 +9,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/squeeze.html b/dev/reference/squeeze.html index 036dc91b2..8ec991203 100644 --- a/dev/reference/squeeze.html +++ b/dev/reference/squeeze.html @@ -15,7 +15,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/style_subtle.html b/dev/reference/style_subtle.html index 6cd3adbbd..e792be749 100644 --- a/dev/reference/style_subtle.html +++ b/dev/reference/style_subtle.html @@ -9,7 +9,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/tbl_format_body.html b/dev/reference/tbl_format_body.html index 7f741e2a9..900e28485 100644 --- a/dev/reference/tbl_format_body.html +++ b/dev/reference/tbl_format_body.html @@ -23,7 +23,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/tbl_format_footer.html b/dev/reference/tbl_format_footer.html index fdd2add63..7229b764a 100644 --- a/dev/reference/tbl_format_footer.html +++ b/dev/reference/tbl_format_footer.html @@ -23,7 +23,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/tbl_format_header.html b/dev/reference/tbl_format_header.html index c60366fe8..1c7955537 100644 --- a/dev/reference/tbl_format_header.html +++ b/dev/reference/tbl_format_header.html @@ -25,7 +25,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/tbl_format_setup.html b/dev/reference/tbl_format_setup.html index 85d8a52e5..995e3ad56 100644 --- a/dev/reference/tbl_format_setup.html +++ b/dev/reference/tbl_format_setup.html @@ -35,7 +35,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/tbl_nrow.html b/dev/reference/tbl_nrow.html index 3dec966c9..09589ee51 100644 --- a/dev/reference/tbl_nrow.html +++ b/dev/reference/tbl_nrow.html @@ -9,7 +9,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/tbl_sum.html b/dev/reference/tbl_sum.html index 9ea23b45f..5a24306dc 100644 --- a/dev/reference/tbl_sum.html +++ b/dev/reference/tbl_sum.html @@ -13,7 +13,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/reference/type_sum.html b/dev/reference/type_sum.html index 26a14d6b7..1c80895fe 100644 --- a/dev/reference/type_sum.html +++ b/dev/reference/type_sum.html @@ -35,7 +35,7 @@ pillar - 1.9.0.9031 + 1.9.0.9035 diff --git a/dev/search.json b/dev/search.json index aa22f3471..e3ed9002c 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, ..., 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, ..., 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, ..., n, max_extra_cols, max_footer_lines, focus) { \"!!!!DEBUG tbl_format_setup.tbl()\" # 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 } # Header tbl_sum <- tbl_sum(x) # 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.0.9031, 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.0.9031, https://github.com/r-lib/pillar}, url = {https://pillar.r-lib.org/}, }"},{"path":"https://pillar.r-lib.org/dev/index.html","id":"pillar","dir":"","previous_headings":"","what":"Coloured Formatting for Columns","title":"Coloured Formatting for Columns","text":"pillar provides tools styling columns data, artfully using colour unicode characters guide eye.","code":""},{"path":"https://pillar.r-lib.org/dev/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Coloured Formatting for Columns","text":"","code":"# pillar is installed if you install the tidyverse package: install.packages(\"tidyverse\") # Alternatively, install just pillar: install.packages(\"pillar\")"},{"path":"https://pillar.r-lib.org/dev/index.html","id":"usage","dir":"","previous_headings":"","what":"Usage","title":"Coloured Formatting for Columns","text":"pillar developer-facing package designed end-users. powers print() format() methods tibbles. also defines generics helpers useful package authors create custom vector classes (see https://github.com/krlmlr/awesome-vctrs#readme examples) custom table classes (like dbplyr sf).","code":"library(pillar) x <- 123456789 * (10^c(-3, -5, NA, -8, -10)) pillar(x) #> #> #> 123457. #> 1235. #> NA #> 1.23 #> 0.0123 tbl_format_setup(tibble::tibble(x)) #> #> #> # A tibble: 5 × 1 #> #> x #> #> 1 123457. #> 2 1235. #> 3 NA #> 4 1.23 #> 5 0.0123 #> "},{"path":"https://pillar.r-lib.org/dev/index.html","id":"custom-vector-classes","dir":"","previous_headings":"","what":"Custom vector classes","title":"Coloured Formatting for Columns","text":"primary user package tibble, lets pillar formatting work. Packages implement data type used tibble column can customize display implementing pillar_shaft() method. See vignette(\"pillar\", package = \"vctrs\") details.","code":"library(pillar) percent <- vctrs::new_vctr(9:11 * 0.01, class = \"percent\") pillar_shaft.percent <- function(x, ...) { fmt <- format(vctrs::vec_data(x) * 100) new_pillar_shaft_simple(paste0(fmt, \" \", style_subtle(\"%\")), align = \"right\") } pillar(percent) #> #> #> 9 % #> 10 % #> 11 %"},{"path":"https://pillar.r-lib.org/dev/index.html","id":"custom-table-classes","dir":"","previous_headings":"","what":"Custom table classes","title":"Coloured Formatting for Columns","text":"pillar provides various extension points customizing tibble-like class printed. See vignette(\"extending\", package = \"pillar\") walkthrough options.","code":"tbl <- vctrs::new_data_frame(list(a = 1:3), class = c(\"my_tbl\", \"tbl\")) tbl_sum.my_tbl <- function(x, ...) { c(\"Hello\" = \"world!\") } tbl #> # Hello: world! #> a #> #> 1 1 #> 2 2 #> 3 3"},{"path":"https://pillar.r-lib.org/dev/index.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Coloured Formatting for Columns","text":"Please note pillar project released Contributor Code Conduct. contributing project, agree abide terms.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/align.html","id":null,"dir":"Reference","previous_headings":"","what":"Alignment helper — align","title":"Alignment helper — align","text":"Facilitates easy alignment strings within character vector. Designed help implementers formatters custom data types.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/align.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Alignment helper — align","text":"","code":"align(x, width = NULL, align = c(\"left\", \"right\"), space = \" \")"},{"path":"https://pillar.r-lib.org/dev/reference/align.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Alignment helper — align","text":"x character vector width width string padded . NULL, maximum display width character vector used (see get_max_extent()). align strings aligned? align = left padding appears right, vice versa. space character used padding?","code":""},{"path":"https://pillar.r-lib.org/dev/reference/align.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Alignment helper — align","text":"","code":"align(c(\"abc\", \"de\"), align = \"left\") #> [1] \"abc\" \"de \" align(c(\"abc\", \"de\"), align = \"right\") #> [1] \"abc\" \" de\""},{"path":"https://pillar.r-lib.org/dev/reference/char.html","id":null,"dir":"Reference","previous_headings":"","what":"Format a character vector in a tibble — char","title":"Format a character vector in a tibble — char","text":"functions reexported tibble::char() tibble::set_char_opts().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/char.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format a character vector in a tibble — char","text":"","code":"char( x, ..., min_chars = NULL, shorten = c(\"back\", \"front\", \"mid\", \"abbreviate\") ) set_char_opts( x, ..., min_chars = NULL, shorten = c(\"back\", \"front\", \"mid\", \"abbreviate\") )"},{"path":"https://pillar.r-lib.org/dev/reference/colonnade.html","id":null,"dir":"Reference","previous_headings":"","what":"Format multiple vectors in a tabular display — colonnade","title":"Format multiple vectors in a tabular display — colonnade","text":"vectors formatted fit horizontally user-supplied number characters per row. colonnade() function process input returns object format() print() method. implementations call squeeze() create pillar objects fit given width.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/colonnade.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format multiple vectors in a tabular display — colonnade","text":"","code":"colonnade(x, has_row_id = TRUE, width = NULL, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/colonnade.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format multiple vectors in a tabular display — colonnade","text":"x list, can contain matrices data frames. named, names used title pillars. Non-syntactic names escaped. has_row_id Include column indicating row IDs? Pass \"*\" mark row ID column star. width Default width entire output, optional. ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/colonnade.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Format multiple vectors in a tabular display — colonnade","text":"Pillars may distributed multiple tiers width > getOption(\"width\"). case tier getOption(\"width\") characters wide. first step formatting determine many tiers shown , width tier. avoid unnecessary computation showing wide colonnades, first pass tries fit capitals tiers. pillar whose capital fits, decided tier shown, , much horizontal space may use (either minimum maximum width). Remaining space distributed proportionally pillars use desired width. fitting pillars one tiers, first check made pillars fit maximum width (e.g., option(tibble.width = Inf) narrow colonnade). yes, resulting fit, work needs done. Otherwise, maximum width wide, test carried minimum width. still wide, resulting fit. Otherwise, tiers start contain pillars maximum width, one tier contain pillars maximum minimum width, remaining tiers contain pillars minimum width . , compute \"reverse minimum assignment\". determine cut point minimum maximum assignment agree. following strategy applied: First, determine tier cut point lies. first instance column ends tier minimum maximum assignment. set candidate cut points derived. consult column offsets. last column minimum assignment greater equal offset maximum assignment latest cut point. column exists, cut point column just first candidate. Finally, combine maximum minimum reverse fits cut point. need redistribute anything . Fitting pillars tiers similar word-wrapping algorithm. loop, new tiers opened current tier overflows. column wide fit single tier, never displayed, colonnade truncated . case never occur reasonable display widths larger 30 characters. Truncation also happens available tiers filled. remaining space distributed left right. column gains space proportional fraction missing remaining space, rounded . space remaining rounding distributed left right, one space per column.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar.html","id":null,"dir":"Reference","previous_headings":"","what":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","title":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","text":"Gain full control appearance pillars tibble subclass body. method intended implementers subclasses \"tbl\" class. Users rarely need .","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","text":"","code":"ctl_new_pillar(controller, x, width, ..., title = NULL) ctl_new_rowid_pillar(controller, x, width, ..., title = NULL, type = NULL)"},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","text":"controller object class \"tbl\" currently printed. x simple (one-dimensional) vector. width available width, can vector multiple tiers. ... dots future extensions must empty. title title, derived name column data. type String specifying row ID type. Current values use NULL \"*\".","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","text":"ctl_new_pillar() called construct pillars regular (one-dimensional) vectors. default implementation returns object constructed pillar(). Extend method modify pillar components returned default implementation. Override method completely change appearance pillars. Components created new_pillar_component() pillar_component(). order customize printing row IDs, method can supplied ctl_new_rowid_pillar() generic. components must height. restriction may levied future. Implementations return NULL none data fits available width.","code":""},{"path":[]},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Customize the appearance of simple pillars in your tibble subclass — ctl_new_pillar","text":"","code":"# Create pillar objects ctl_new_pillar( palmerpenguins::penguins, palmerpenguins::penguins$species[1:3], width = 60 ) #> #> #> Adelie #> Adelie #> Adelie ctl_new_pillar( palmerpenguins::penguins, palmerpenguins::penguins$bill_length_mm[1:3], width = 60 ) #> #> #> 39.1 #> 39.5 #> 40.3 # Customize output lines <- function(char = \"-\") { stopifnot(nchar(char) == 1) structure(char, class = \"lines\") } format.lines <- function(x, width, ...) { paste(rep(x, width), collapse = \"\") } ctl_new_pillar.line_tbl <- function(controller, x, width, ...) { out <- NextMethod() new_pillar(list( title = out$title, type = out$type, lines = new_pillar_component(list(lines(\"=\")), width = 1), data = out$data )) } ctl_new_rowid_pillar.line_tbl <- function(controller, x, width, ...) { out <- NextMethod() new_pillar( list( title = out$title, type = out$type, lines = new_pillar_component(list(lines(\"=\")), width = 1), data = out$data ), width = as.integer(floor(log10(max(nrow(x), 1))) + 1) ) } vctrs::new_data_frame( list(a = 1:3, b = letters[1:3]), class = c(\"line_tbl\", \"tbl\") ) #> # A data frame: 3 × 2 #> a b #> #> 1 1 a #> 2 2 b #> 3 3 c ctl_new_rowid_pillar.roman_tbl <- function(controller, x, width, ...) { out <- NextMethod() rowid <- utils::as.roman(seq_len(nrow(x))) width <- max(nchar(as.character(rowid))) new_pillar( list( title = out$title, type = out$type, data = pillar_component( new_pillar_shaft(list(row_ids = rowid), width = width, class = \"pillar_rif_shaft\" ) ) ), width = width ) } vctrs::new_data_frame( list(a = 1:3, b = letters[1:3]), class = c(\"roman_tbl\", \"tbl\") ) #> # A data frame: 3 × 2 #> a b #> #> 1 1 a #> 2 2 b #> 3 3 c"},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar_list.html","id":null,"dir":"Reference","previous_headings":"","what":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","title":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","text":"Gain full control appearance pillars tibble subclass body. method intended implementers subclasses \"tbl\" class. Users rarely need , also expect default implementation sufficient vast majority cases.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar_list.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","text":"","code":"ctl_new_pillar_list( controller, x, width, ..., title = NULL, first_pillar = NULL )"},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar_list.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","text":"controller object class \"tbl\" currently printed. x vector, can also data frame, matrix, array. width available width, can vector multiple tiers. NULL, first pillar instantiated. ... dots future extensions must empty. title title, derived name column data. first_pillar Can passed method first pillar compound pillar (pillar simple pillar) constructed already.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar_list.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","text":"ctl_new_pillar_list() called construct list pillars. x regular (one-dimensional) vector, list contains one pillar constructed ctl_new_pillar(). method also works compound columns: columns data frames, matrices arrays, following behavior: width NULL, method always returns list length one containing one pillar object represents first sub-column compound column. Otherwise, returned list contains one pillar object sub-columns can fit available horizontal space. pillar objects obtained calling ctl_new_pillar_list() width = NULL sub-column available width exhausted. method called initiate construction pillars tibble printed. ensure packed columns fit available space printed, ctl_new_pillar_list() may called twice input: width = NULL, width corresponding known available space first_pillar set pillar object constructed first call.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/ctl_new_pillar_list.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Customize the appearance of compound pillars in your tibble subclass — ctl_new_pillar_list","text":"","code":"# Simple column ctl_new_pillar_list( tibble::tibble(), palmerpenguins::penguins$weight[1:3], width = 10 ) #> Warning: Unknown or uninitialised column: `weight`. #> [[1]] #> #> #> NULL #> #> attr(,\"remaining_width\") #> [1] 4 #> attr(,\"simple\") #> [1] TRUE # Packed data frame: unknown width ctl_new_pillar_list( tibble::tibble(), palmerpenguins::penguins[1:3, ], width = NULL ) #> [[1]] #> #> species #> #> Adelie #> Adelie #> Adelie #> # Packed data frame: known width ctl_new_pillar_list( tibble::tibble(), palmerpenguins::penguins, width = 60 ) #> [[1]] #> #> species #> #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Adelie #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Gentoo #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> Chinstrap #> #> [[2]] #> #> island #> #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Torgersen #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Biscoe #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> Dream #> #> [[3]] #> #> bill_length_mm #> #> 39.1 #> 39.5 #> 40.3 #> NA #> 36.7 #> 39.3 #> 38.9 #> 39.2 #> 34.1 #> 42 #> 37.8 #> 37.8 #> 41.1 #> 38.6 #> 34.6 #> 36.6 #> 38.7 #> 42.5 #> 34.4 #> 46 #> 37.8 #> 37.7 #> 35.9 #> 38.2 #> 38.8 #> 35.3 #> 40.6 #> 40.5 #> 37.9 #> 40.5 #> 39.5 #> 37.2 #> 39.5 #> 40.9 #> 36.4 #> 39.2 #> 38.8 #> 42.2 #> 37.6 #> 39.8 #> 36.5 #> 40.8 #> 36 #> 44.1 #> 37 #> 39.6 #> 41.1 #> 37.5 #> 36 #> 42.3 #> 39.6 #> 40.1 #> 35 #> 42 #> 34.5 #> 41.4 #> 39 #> 40.6 #> 36.5 #> 37.6 #> 35.7 #> 41.3 #> 37.6 #> 41.1 #> 36.4 #> 41.6 #> 35.5 #> 41.1 #> 35.9 #> 41.8 #> 33.5 #> 39.7 #> 39.6 #> 45.8 #> 35.5 #> 42.8 #> 40.9 #> 37.2 #> 36.2 #> 42.1 #> 34.6 #> 42.9 #> 36.7 #> 35.1 #> 37.3 #> 41.3 #> 36.3 #> 36.9 #> 38.3 #> 38.9 #> 35.7 #> 41.1 #> 34 #> 39.6 #> 36.2 #> 40.8 #> 38.1 #> 40.3 #> 33.1 #> 43.2 #> 35 #> 41 #> 37.7 #> 37.8 #> 37.9 #> 39.7 #> 38.6 #> 38.2 #> 38.1 #> 43.2 #> 38.1 #> 45.6 #> 39.7 #> 42.2 #> 39.6 #> 42.7 #> 38.6 #> 37.3 #> 35.7 #> 41.1 #> 36.2 #> 37.7 #> 40.2 #> 41.4 #> 35.2 #> 40.6 #> 38.8 #> 41.5 #> 39 #> 44.1 #> 38.5 #> 43.1 #> 36.8 #> 37.5 #> 38.1 #> 41.1 #> 35.6 #> 40.2 #> 37 #> 39.7 #> 40.2 #> 40.6 #> 32.1 #> 40.7 #> 37.3 #> 39 #> 39.2 #> 36.6 #> 36 #> 37.8 #> 36 #> 41.5 #> 46.1 #> 50 #> 48.7 #> 50 #> 47.6 #> 46.5 #> 45.4 #> 46.7 #> 43.3 #> 46.8 #> 40.9 #> 49 #> 45.5 #> 48.4 #> 45.8 #> 49.3 #> 42 #> 49.2 #> 46.2 #> 48.7 #> 50.2 #> 45.1 #> 46.5 #> 46.3 #> 42.9 #> 46.1 #> 44.5 #> 47.8 #> 48.2 #> 50 #> 47.3 #> 42.8 #> 45.1 #> 59.6 #> 49.1 #> 48.4 #> 42.6 #> 44.4 #> 44 #> 48.7 #> 42.7 #> 49.6 #> 45.3 #> 49.6 #> 50.5 #> 43.6 #> 45.5 #> 50.5 #> 44.9 #> 45.2 #> 46.6 #> 48.5 #> 45.1 #> 50.1 #> 46.5 #> 45 #> 43.8 #> 45.5 #> 43.2 #> 50.4 #> 45.3 #> 46.2 #> 45.7 #> 54.3 #> 45.8 #> 49.8 #> 46.2 #> 49.5 #> 43.5 #> 50.7 #> 47.7 #> 46.4 #> 48.2 #> 46.5 #> 46.4 #> 48.6 #> 47.5 #> 51.1 #> 45.2 #> 45.2 #> 49.1 #> 52.5 #> 47.4 #> 50 #> 44.9 #> 50.8 #> 43.4 #> 51.3 #> 47.5 #> 52.1 #> 47.5 #> 52.2 #> 45.5 #> 49.5 #> 44.5 #> 50.8 #> 49.4 #> 46.9 #> 48.4 #> 51.1 #> 48.5 #> 55.9 #> 47.2 #> 49.1 #> 47.3 #> 46.8 #> 41.7 #> 53.4 #> 43.3 #> 48.1 #> 50.5 #> 49.8 #> 43.5 #> 51.5 #> 46.2 #> 55.1 #> 44.5 #> 48.8 #> 47.2 #> NA #> 46.8 #> 50.4 #> 45.2 #> 49.9 #> 46.5 #> 50 #> 51.3 #> 45.4 #> 52.7 #> 45.2 #> 46.1 #> 51.3 #> 46 #> 51.3 #> 46.6 #> 51.7 #> 47 #> 52 #> 45.9 #> 50.5 #> 50.3 #> 58 #> 46.4 #> 49.2 #> 42.4 #> 48.5 #> 43.2 #> 50.6 #> 46.7 #> 52 #> 50.5 #> 49.5 #> 46.4 #> 52.8 #> 40.9 #> 54.2 #> 42.5 #> 51 #> 49.7 #> 47.5 #> 47.6 #> 52 #> 46.9 #> 53.5 #> 49 #> 46.2 #> 50.9 #> 45.5 #> 50.9 #> 50.8 #> 50.1 #> 49 #> 51.5 #> 49.8 #> 48.1 #> 51.4 #> 45.7 #> 50.7 #> 42.5 #> 52.2 #> 45.2 #> 49.3 #> 50.2 #> 45.6 #> 51.9 #> 46.8 #> 45.7 #> 55.8 #> 43.5 #> 49.6 #> 50.8 #> 50.2 #> #> [[4]] #> #> bill_depth_mm #> #> 18.7 #> 17.4 #> 18 #> NA #> 19.3 #> 20.6 #> 17.8 #> 19.6 #> 18.1 #> 20.2 #> 17.1 #> 17.3 #> 17.6 #> 21.2 #> 21.1 #> 17.8 #> 19 #> 20.7 #> 18.4 #> 21.5 #> 18.3 #> 18.7 #> 19.2 #> 18.1 #> 17.2 #> 18.9 #> 18.6 #> 17.9 #> 18.6 #> 18.9 #> 16.7 #> 18.1 #> 17.8 #> 18.9 #> 17 #> 21.1 #> 20 #> 18.5 #> 19.3 #> 19.1 #> 18 #> 18.4 #> 18.5 #> 19.7 #> 16.9 #> 18.8 #> 19 #> 18.9 #> 17.9 #> 21.2 #> 17.7 #> 18.9 #> 17.9 #> 19.5 #> 18.1 #> 18.6 #> 17.5 #> 18.8 #> 16.6 #> 19.1 #> 16.9 #> 21.1 #> 17 #> 18.2 #> 17.1 #> 18 #> 16.2 #> 19.1 #> 16.6 #> 19.4 #> 19 #> 18.4 #> 17.2 #> 18.9 #> 17.5 #> 18.5 #> 16.8 #> 19.4 #> 16.1 #> 19.1 #> 17.2 #> 17.6 #> 18.8 #> 19.4 #> 17.8 #> 20.3 #> 19.5 #> 18.6 #> 19.2 #> 18.8 #> 18 #> 18.1 #> 17.1 #> 18.1 #> 17.3 #> 18.9 #> 18.6 #> 18.5 #> 16.1 #> 18.5 #> 17.9 #> 20 #> 16 #> 20 #> 18.6 #> 18.9 #> 17.2 #> 20 #> 17 #> 19 #> 16.5 #> 20.3 #> 17.7 #> 19.5 #> 20.7 #> 18.3 #> 17 #> 20.5 #> 17 #> 18.6 #> 17.2 #> 19.8 #> 17 #> 18.5 #> 15.9 #> 19 #> 17.6 #> 18.3 #> 17.1 #> 18 #> 17.9 #> 19.2 #> 18.5 #> 18.5 #> 17.6 #> 17.5 #> 17.5 #> 20.1 #> 16.5 #> 17.9 #> 17.1 #> 17.2 #> 15.5 #> 17 #> 16.8 #> 18.7 #> 18.6 #> 18.4 #> 17.8 #> 18.1 #> 17.1 #> 18.5 #> 13.2 #> 16.3 #> 14.1 #> 15.2 #> 14.5 #> 13.5 #> 14.6 #> 15.3 #> 13.4 #> 15.4 #> 13.7 #> 16.1 #> 13.7 #> 14.6 #> 14.6 #> 15.7 #> 13.5 #> 15.2 #> 14.5 #> 15.1 #> 14.3 #> 14.5 #> 14.5 #> 15.8 #> 13.1 #> 15.1 #> 14.3 #> 15 #> 14.3 #> 15.3 #> 15.3 #> 14.2 #> 14.5 #> 17 #> 14.8 #> 16.3 #> 13.7 #> 17.3 #> 13.6 #> 15.7 #> 13.7 #> 16 #> 13.7 #> 15 #> 15.9 #> 13.9 #> 13.9 #> 15.9 #> 13.3 #> 15.8 #> 14.2 #> 14.1 #> 14.4 #> 15 #> 14.4 #> 15.4 #> 13.9 #> 15 #> 14.5 #> 15.3 #> 13.8 #> 14.9 #> 13.9 #> 15.7 #> 14.2 #> 16.8 #> 14.4 #> 16.2 #> 14.2 #> 15 #> 15 #> 15.6 #> 15.6 #> 14.8 #> 15 #> 16 #> 14.2 #> 16.3 #> 13.8 #> 16.4 #> 14.5 #> 15.6 #> 14.6 #> 15.9 #> 13.8 #> 17.3 #> 14.4 #> 14.2 #> 14 #> 17 #> 15 #> 17.1 #> 14.5 #> 16.1 #> 14.7 #> 15.7 #> 15.8 #> 14.6 #> 14.4 #> 16.5 #> 15 #> 17 #> 15.5 #> 15 #> 13.8 #> 16.1 #> 14.7 #> 15.8 #> 14 #> 15.1 #> 15.2 #> 15.9 #> 15.2 #> 16.3 #> 14.1 #> 16 #> 15.7 #> 16.2 #> 13.7 #> NA #> 14.3 #> 15.7 #> 14.8 #> 16.1 #> 17.9 #> 19.5 #> 19.2 #> 18.7 #> 19.8 #> 17.8 #> 18.2 #> 18.2 #> 18.9 #> 19.9 #> 17.8 #> 20.3 #> 17.3 #> 18.1 #> 17.1 #> 19.6 #> 20 #> 17.8 #> 18.6 #> 18.2 #> 17.3 #> 17.5 #> 16.6 #> 19.4 #> 17.9 #> 19 #> 18.4 #> 19 #> 17.8 #> 20 #> 16.6 #> 20.8 #> 16.7 #> 18.8 #> 18.6 #> 16.8 #> 18.3 #> 20.7 #> 16.6 #> 19.9 #> 19.5 #> 17.5 #> 19.1 #> 17 #> 17.9 #> 18.5 #> 17.9 #> 19.6 #> 18.7 #> 17.3 #> 16.4 #> 19 #> 17.3 #> 19.7 #> 17.3 #> 18.8 #> 16.6 #> 19.9 #> 18.8 #> 19.4 #> 19.5 #> 16.5 #> 17 #> 19.8 #> 18.1 #> 18.2 #> 19 #> 18.7 #> #> attr(,\"extra\") #> [1] \"flipper_length_mm\" \"body_mass_g\" \"sex\" #> [4] \"year\" #> attr(,\"remaining_width\") #> [1] 16 #> attr(,\"simple\") #> [1] FALSE # Deeply packed data frame with known width: # showing only the first sub-column even if the width is sufficient ctl_new_pillar_list( tibble::tibble(), tibble::tibble(x = tibble::tibble(b = 1, c = 2), y = 3), width = 60 ) #> [[1]] #> #> x$b #> #> 1 #> #> [[2]] #> #> y #> #> 3 #> #> attr(,\"extra\") #> character(0) #> attr(,\"remaining_width\") #> [1] 48 #> attr(,\"simple\") #> [1] FALSE # Packed matrix: unknown width ctl_new_pillar_list(tibble::tibble(), matrix(1:6, ncol = 2), width = NULL) #> [[1]] #> #> [,1] #> #> 1 #> 2 #> 3 #> # Packed matrix: known width ctl_new_pillar_list(tibble::tibble(), matrix(1:6, ncol = 2), width = 60) #> [[1]] #> #> [,1] #> #> 1 #> 2 #> 3 #> #> [[2]] #> #> [,2] #> #> 4 #> 5 #> 6 #> #> attr(,\"extra\") #> integer(0) #> attr(,\"remaining_width\") #> [1] 48 #> attr(,\"simple\") #> [1] FALSE # Packed array ctl_new_pillar_list(tibble::tibble(), Titanic, width = 60) #> [[1]] #> #> #> 0 … #> 0 … #> 35 … #> 0 … #> #> attr(,\"remaining_width\") #> [1] 54 #> attr(,\"simple\") #> [1] TRUE"},{"path":"https://pillar.r-lib.org/dev/reference/deprecated.html","id":null,"dir":"Reference","previous_headings":"","what":"Deprecated functions — deprecated","title":"Deprecated functions — deprecated","text":"Use vctrs::vec_is() instead is_vector_s3(). Use testthat::expect_snapshot() instead expect_known_display().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/deprecated.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Deprecated functions — deprecated","text":"","code":"is_vector_s3(x) expect_known_display(object, file, ..., width = 80L, crayon = TRUE)"},{"path":"https://pillar.r-lib.org/dev/reference/deprecated.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Deprecated functions — deprecated","text":"object object check. file File path known value/output stored. ... Unused. width width output. crayon Color output?","code":""},{"path":"https://pillar.r-lib.org/dev/reference/dim_desc.html","id":null,"dir":"Reference","previous_headings":"","what":"Format dimensions — dim_desc","title":"Format dimensions — dim_desc","text":"Multi-dimensional objects formatted x b x ..., vectors length returned.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/dim_desc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format dimensions — dim_desc","text":"","code":"dim_desc(x)"},{"path":"https://pillar.r-lib.org/dev/reference/dim_desc.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format dimensions — dim_desc","text":"x object format dimensions ","code":""},{"path":"https://pillar.r-lib.org/dev/reference/dim_desc.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format dimensions — dim_desc","text":"","code":"dim_desc(1:10) #> [1] \"10\" dim_desc(Titanic) #> [1] \"4 × 2 × 2 × 2\""},{"path":"https://pillar.r-lib.org/dev/reference/extra_cols.html","id":null,"dir":"Reference","previous_headings":"","what":"Retrieve information about columns that didn't fit the available width — extra_cols","title":"Retrieve information about columns that didn't fit the available width — extra_cols","text":"Formatting colonnade object may lead columns omitted due width restrictions. method returns character vector describes omitted columns.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/extra_cols.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Retrieve information about columns that didn't fit the available width — extra_cols","text":"","code":"extra_cols(x, ...) # S3 method for class 'pillar_squeezed_colonnade' extra_cols(x, ..., n = Inf)"},{"path":"https://pillar.r-lib.org/dev/reference/extra_cols.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Retrieve information about columns that didn't fit the available width — extra_cols","text":"x result squeeze() colonnade object ... Arguments passed methods. n number extra columns return; returned vector always contain many elements extra columns, elements beyond n NA.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_glimpse.html","id":null,"dir":"Reference","previous_headings":"","what":"Format a vector for horizontal printing — format_glimpse","title":"Format a vector for horizontal printing — format_glimpse","text":"generic provides logic printing vectors glimpse(). output strives unambiguous possible, without compromising readability. list, distinguish vectors nested lists, latter surrounded [] brackets. Empty lists shown []. Vectors inside lists, length equal one, surrounded <> angle brackets. Empty vectors shown <>.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_glimpse.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format a vector for horizontal printing — format_glimpse","text":"","code":"format_glimpse(x, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/format_glimpse.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format a vector for horizontal printing — format_glimpse","text":"x vector. ... Arguments passed methods.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_glimpse.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Format a vector for horizontal printing — format_glimpse","text":"character vector length x.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_glimpse.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format a vector for horizontal printing — format_glimpse","text":"","code":"format_glimpse(1:3) #> [1] \"1\" \"2\" \"3\" # Lists use [], vectors inside lists use <> format_glimpse(list(1:3)) #> [1] \"<1, 2, 3>\" format_glimpse(list(1, 2:3)) #> [1] \"1\" \"<2, 3>\" format_glimpse(list(list(1), list(2:3))) #> [1] \"[1]\" \"[<2, 3>]\" format_glimpse(list(as.list(1), as.list(2:3))) #> [1] \"[1]\" \"[2, 3]\" format_glimpse(list(character())) #> [1] \"<>\" format_glimpse(list(NULL)) #> [1] \"\" # Character strings are always quoted writeLines(format_glimpse(letters[1:3])) #> \"a\" #> \"b\" #> \"c\" writeLines(format_glimpse(c(\"A\", \"B, C\"))) #> \"A\" #> \"B, C\" # Factors are quoted only when needed writeLines(format_glimpse(factor(letters[1:3]))) #> a #> b #> c writeLines(format_glimpse(factor(c(\"A\", \"B, C\")))) #> \"A\" #> \"B, C\""},{"path":"https://pillar.r-lib.org/dev/reference/format_tbl.html","id":null,"dir":"Reference","previous_headings":"","what":"Formatting of tbl objects — format_tbl","title":"Formatting of tbl objects — format_tbl","text":"See tibble::formatting details.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_tbl.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Formatting of tbl objects — format_tbl","text":"","code":"# S3 method for class 'tbl' print( x, width = NULL, ..., n = NULL, max_extra_cols = NULL, max_footer_lines = NULL ) # S3 method for class 'tbl' format( x, width = NULL, ..., n = NULL, max_extra_cols = NULL, max_footer_lines = NULL )"},{"path":"https://pillar.r-lib.org/dev/reference/format_type_sum.html","id":null,"dir":"Reference","previous_headings":"","what":"Format a type summary — format_type_sum","title":"Format a type summary — format_type_sum","text":"Called values returned type_sum() defining description capital.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_type_sum.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format a type summary — format_type_sum","text":"","code":"format_type_sum(x, width, ...) # Default S3 method format_type_sum(x, width, ...) # S3 method for class 'AsIs' format_type_sum(x, width, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/format_type_sum.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format a type summary — format_type_sum","text":"x return value type_sum() width desired total width. returned string still wider, trimmed. Can NULL. ... Arguments passed methods.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_type_sum.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Format a type summary — format_type_sum","text":"Two methods implemented default generic: default method, method \"AsIs\" class. Return (\"type\") type_sum() implementation format type without angle brackets. even control formatting, implement method.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/format_type_sum.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format a type summary — format_type_sum","text":"","code":"# Default method: show the type with angle brackets format_type_sum(1, NULL) #> [1] \"\\033[3m\\033[38;5;246m<1>\\033[39m\\033[23m\" pillar(1) #> #> #> 1 # AsIs method: show the type without angle brackets type_sum.accel <- function(x) { I(\"kg m/s^2\") } accel <- structure(9.81, class = \"accel\") pillar(accel) #> #> #> 9.81"},{"path":"https://pillar.r-lib.org/dev/reference/get_extent.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate display width — get_extent","title":"Calculate display width — get_extent","text":"get_extent() calculates display width string character vector. get_max_extent() calculates maximum display width strings character vector, zero empty vectors.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/get_extent.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate display width — get_extent","text":"","code":"get_extent(x) get_max_extent(x)"},{"path":"https://pillar.r-lib.org/dev/reference/get_extent.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate display width — get_extent","text":"x character vector.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/get_extent.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate display width — get_extent","text":"","code":"get_extent(c(\"abc\", \"de\")) #> [1] 3 2 get_extent(\"\\u904b\\u6c23\") #> [1] 4 get_max_extent(c(\"abc\", \"de\")) #> [1] 3"},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":null,"dir":"Reference","previous_headings":"","what":"Get a glimpse of your data — glimpse","title":"Get a glimpse of your data — glimpse","text":"glimpse() like transposed version print(): columns run page, data runs across. makes possible see every column data frame. little like str() applied data frame tries show much data possible. (always shows underlying data, even applied remote data source.) See format_glimpse() details formatting.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get a glimpse of your data — glimpse","text":"","code":"glimpse(x, width = NULL, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get a glimpse of your data — glimpse","text":"x object glimpse . width Width output: defaults setting width option (finite) width console. ... Unused, extensibility.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get a glimpse of your data — glimpse","text":"x original x (invisibly) returned, allowing glimpse() used within data pipe line.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":"s-methods","dir":"Reference","previous_headings":"","what":"S3 methods","title":"Get a glimpse of your data — glimpse","text":"glimpse S3 generic customised method tbls data.frames, default method calls str().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/glimpse.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get a glimpse of your data — glimpse","text":"","code":"glimpse(mtcars) #> Rows: 32 #> Columns: 11 #> $ mpg 21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19.2,… #> $ cyl 6, 6, 4, 6, 8, 6, 8, 4, 4, 6, 6, 8, 8, 8, 8, 8, 8, 4, 4, 4,… #> $ disp 160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 140… #> $ hp 110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180, 18… #> $ drat 3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.92,… #> $ wt 2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3.1… #> $ qsec 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 22.… #> $ vs 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1,… #> $ am 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,… #> $ gear 4, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 4, 4, 4,… #> $ carb 4, 4, 1, 1, 2, 1, 4, 2, 2, 4, 4, 3, 3, 3, 4, 4, 4, 1, 2, 1,… glimpse(nycflights13::flights) #> Rows: 336,776 #> Columns: 19 #> $ year 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2… #> $ month 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1… #> $ day 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1… #> $ dep_time 517, 533, 542, 544, 554, 554, 555, 557, 557, 558,… #> $ sched_dep_time 515, 529, 540, 545, 600, 558, 600, 600, 600, 600,… #> $ dep_delay 2, 4, 2, -1, -6, -4, -5, -3, -3, -2, -2, -2, -2, … #> $ arr_time 830, 850, 923, 1004, 812, 740, 913, 709, 838, 753… #> $ sched_arr_time 819, 830, 850, 1022, 837, 728, 854, 723, 846, 745… #> $ arr_delay 11, 20, 33, -18, -25, 12, 19, -14, -8, 8, -2, -3,… #> $ carrier \"UA\", \"UA\", \"AA\", \"B6\", \"DL\", \"UA\", \"B6\", \"EV\", \"… #> $ flight 1545, 1714, 1141, 725, 461, 1696, 507, 5708, 79, … #> $ tailnum \"N14228\", \"N24211\", \"N619AA\", \"N804JB\", \"N668DN\",… #> $ origin \"EWR\", \"LGA\", \"JFK\", \"JFK\", \"LGA\", \"EWR\", \"EWR\", … #> $ dest \"IAH\", \"IAH\", \"MIA\", \"BQN\", \"ATL\", \"ORD\", \"FLL\", … #> $ air_time 227, 227, 160, 183, 116, 150, 158, 53, 140, 138, … #> $ distance 1400, 1416, 1089, 1576, 762, 719, 1065, 229, 944,… #> $ hour 5, 5, 5, 5, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6… #> $ minute 15, 29, 40, 45, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0,… #> $ time_hour 2013-01-01 05:00:00, 2013-01-01 05:00:00, 2013-0…"},{"path":"https://pillar.r-lib.org/dev/reference/new_ornament.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper to define the contents of a pillar — new_ornament","title":"Helper to define the contents of a pillar — new_ornament","text":"function useful data renders differently depending available width. case, implement pillar_shaft() method class return subclass \"pillar_shaft\" format() method subclass call new_ornament(). See implementation pillar_shaft.numeric() format.pillar_shaft_decimal() example.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_ornament.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper to define the contents of a pillar — new_ornament","text":"","code":"new_ornament(x, width = NULL, align = NULL)"},{"path":"https://pillar.r-lib.org/dev/reference/new_ornament.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper to define the contents of a pillar — new_ornament","text":"x character vector formatting, can use ANYI styles e.g provided cli package. width optional width resulting pillar, computed x missing align Alignment, one \"left\" \"right\"","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_ornament.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Helper to define the contents of a pillar — new_ornament","text":"","code":"new_ornament(c(\"abc\", \"de\"), align = \"right\") #> #> abc #> de"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar.html","id":null,"dir":"Reference","previous_headings":"","what":"Construct a custom pillar object — new_pillar","title":"Construct a custom pillar object — new_pillar","text":"new_pillar() low-level constructor pillar objects. supports arbitrary components. See pillar() high-level constructor default components.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Construct a custom pillar object — new_pillar","text":"","code":"new_pillar(components, ..., width = NULL, class = NULL, extra = deprecated())"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Construct a custom pillar object — new_pillar","text":"components named list components constructed pillar_component(). ... dots future extensions must empty. width Default width, optional. class Name subclass. extra Deprecated.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Construct a custom pillar object — new_pillar","text":"Arbitrary components supported. tibble subclass needs different components pillars, override extend ctl_new_pillar() perhaps ctl_new_pillar_list().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Construct a custom pillar object — new_pillar","text":"","code":"lines <- function(char = \"-\") { stopifnot(nchar(char) == 1) structure(char, class = \"lines\") } format.lines <- function(x, width, ...) { paste(rep(x, width), collapse = \"\") } new_pillar(list( title = pillar_component(new_ornament(c(\"abc\", \"de\"), align = \"right\")), lines = new_pillar_component(list(lines(\"=\")), width = 1) )) #> #> abc #> de #> ="},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_component.html","id":null,"dir":"Reference","previous_headings":"","what":"Components of a pillar — new_pillar_component","title":"Components of a pillar — new_pillar_component","text":"new_pillar_component() constructs object class \"pillar_component\". used custom ctl_new_pillar() methods create pillars nonstandard components. pillar_component() convenience helper wraps input list extracts width minimum width.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_component.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Components of a pillar — new_pillar_component","text":"","code":"new_pillar_component(x, ..., width, min_width = NULL) pillar_component(x)"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_component.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Components of a pillar — new_pillar_component","text":"x bare list length one (new_pillar_component()), object \"width\" \"min_width\" attributes (pillar_component()). ... dots future extensions must empty. width, min_width Width minimum width new component. min_width NULL, assumed match width.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_component.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Components of a pillar — new_pillar_component","text":"Objects class \"pillar\" internally named lists components. default components pillars created pillar() : title (may missing), type, data. component \"pillar_component\" object. class captures contents can fitted simple column. Compound columns represented multiple pillar objects, components.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_component.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Components of a pillar — new_pillar_component","text":"","code":"new_pillar_component(list(letters[1:3]), width = 1) #> [[1]] #> [1] \"a\" \"b\" \"c\" #> #> attr(,\"width\") #> [1] 1 #> attr(,\"min_width\") #> [1] 1 #> attr(,\"class\") #> [1] \"pillar_component\" pillar_component(new_pillar_title(\"letters\")) #> [[1]] #> [[1]] #> [1] \"letters\" #> #> attr(,\"class\") #> [1] \"pillar_title\" #> attr(,\"width\") #> [1] 7 #> attr(,\"min_width\") #> [1] 7 #> #> attr(,\"width\") #> [1] 7 #> attr(,\"min_width\") #> [1] 7 #> attr(,\"class\") #> [1] \"pillar_component\" pillar_component(new_pillar_type(letters)) #> [[1]] #> [[1]] #> [1] \"chr\" #> #> attr(,\"class\") #> [1] \"pillar_type\" #> attr(,\"width\") #> [1] 5 #> attr(,\"min_width\") #> [1] 5 #> #> attr(,\"width\") #> [1] 5 #> attr(,\"min_width\") #> [1] 5 #> attr(,\"class\") #> [1] \"pillar_component\" pillar_component(pillar_shaft(letters[1:3])) #> [[1]] #> #> a #> b #> c #> #> attr(,\"width\") #> [1] 1 #> attr(,\"min_width\") #> [1] 1 #> attr(,\"class\") #> [1] \"pillar_component\""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_shaft.html","id":null,"dir":"Reference","previous_headings":"","what":"Constructor for column data — new_pillar_shaft","title":"Constructor for column data — new_pillar_shaft","text":"new_pillar_shaft() constructor creates objects \"pillar_shaft\" class. virtual abstract class, must specify class argument. convention, string starts \"pillar_shaft_\". See vignette(\"extending\", package = \"tibble\") usage examples. method accepts vector arbitrary length expected return S3 object following properties: attribute \"width\" can attribute \"min_width\", missing, \"width\" used must implement method format(x, width, ...) can called value min_width width method must return object inherits character attributes \"align\" (supported values \"left\", \"right\", \"center\") \"width\" function new_pillar_shaft() returns object, also correctly formats NA values. many cases, implementation pillar_shaft.your_class_name() format data character vector (using color emphasis) simply call new_pillar_shaft(). See pillar:::pillar_shaft.numeric code allows changing display depending available width. new_pillar_shaft_simple() provides implementation pillar_shaft class suitable output fixed formatting, truncated continuation character (ellipsis ~) fit available width. default, required width computed natural width formatted argument.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_shaft.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Constructor for column data — new_pillar_shaft","text":"","code":"new_pillar_shaft( x, ..., width = NULL, min_width = width, type_sum = NULL, class = NULL, subclass = NULL ) new_pillar_shaft_simple( formatted, ..., width = NULL, align = \"left\", min_width = NULL, na = NULL, na_indent = 0L, shorten = c(\"back\", \"front\", \"mid\", \"abbreviate\"), short_formatted = NULL )"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_shaft.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Constructor for column data — new_pillar_shaft","text":"x object ... Passed new_pillar_shaft(). width maximum column width. min_width minimum allowed column width, width omitted. type_sum Override type summary displayed top data. argument, given, takes precedence type summary provided type_sum(). class name subclass. subclass Deprecated, pass class argument instead. formatted data show, object coercible character. align Alignment column. na String use NA value, defaults \"NA\" styled style_na() fallback color available. na_indent Indentation NA values. shorten abbreviate data necessary: \"back\" (default): add ellipsis end \"front\": add ellipsis front \"mid\": add ellipsis middle \"abbreviate\": use abbreviate() short_formatted provided, character vector length formatted, used available width insufficient show full output.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_shaft.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Constructor for column data — new_pillar_shaft","text":"formatted argument may also contain ANSI escapes change color attributes text, provided e.g. cli package.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_title.html","id":null,"dir":"Reference","previous_headings":"","what":"Prepare a column title for formatting — new_pillar_title","title":"Prepare a column title for formatting — new_pillar_title","text":"Call format() result render column titles.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_title.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Prepare a column title for formatting — new_pillar_title","text":"","code":"new_pillar_title(x, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_title.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Prepare a column title for formatting — new_pillar_title","text":"x character vector column titles. ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_title.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Prepare a column title for formatting — new_pillar_title","text":"","code":"format(new_pillar_title(names(trees))) #> [1] \"Girth \" \"Height\" \"Volume\""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_type.html","id":null,"dir":"Reference","previous_headings":"","what":"Prepare a column type for formatting — new_pillar_type","title":"Prepare a column type for formatting — new_pillar_type","text":"Calls type_sum() format type. Call format() result render column types.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_type.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Prepare a column type for formatting — new_pillar_type","text":"","code":"new_pillar_type(x, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_type.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Prepare a column type for formatting — new_pillar_type","text":"x vector type retrieved. ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_pillar_type.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Prepare a column type for formatting — new_pillar_type","text":"","code":"format(new_pillar_type(\"a\")) #> [1] \"\\033[3m\\033[38;5;246m\\033[39m\\033[23m\" format(new_pillar_type(factor(\"a\"))) #> [1] \"\\033[3m\\033[38;5;246m\\033[39m\\033[23m\""},{"path":"https://pillar.r-lib.org/dev/reference/new_tbl_format_setup.html","id":null,"dir":"Reference","previous_headings":"","what":"Construct a setup object for formatting — new_tbl_format_setup","title":"Construct a setup object for formatting — new_tbl_format_setup","text":"object returned default method tbl_format_setup() object \"class\" attribute elements described \"Parameters\" section. Named elements can added objects without affecting behavior. modify existing elements.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/new_tbl_format_setup.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Construct a setup object for formatting — new_tbl_format_setup","text":"","code":"new_tbl_format_setup( x, df, width, tbl_sum, body, rows_missing, rows_total, extra_cols, extra_cols_total, max_footer_lines, abbrev_cols )"},{"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":"x input object unchanged. df data frame representation intended output, trimmed desired number rows. width width argument unchanged. tbl_sum named character vector, returned tbl_sum(). body character vector formatted body, one element per line, rows_missing number rows shown body, NA unknown. rows_total total number rows data, NA unknown. extra_cols Columns fit body, character vector formatted column names types. extra_cols_total total number columns, may larger length(extra_cols). max_footer_lines maximum number lines footer. abbrev_cols Formatted names columns shown abbreviated body.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/num.html","id":null,"dir":"Reference","previous_headings":"","what":"Format a numeric vector in a tibble — num","title":"Format a numeric vector in a tibble — num","text":"functions reexported tibble::num() tibble::set_num_opts().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/num.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format a numeric vector in a tibble — num","text":"","code":"num( x, ..., sigfig = NULL, digits = NULL, label = NULL, scale = NULL, notation = c(\"fit\", \"dec\", \"sci\", \"eng\", \"si\"), fixed_exponent = NULL, extra_sigfig = NULL ) set_num_opts( x, ..., sigfig = NULL, digits = NULL, label = NULL, scale = NULL, notation = c(\"fit\", \"dec\", \"sci\", \"eng\", \"si\"), fixed_exponent = NULL, extra_sigfig = NULL )"},{"path":"https://pillar.r-lib.org/dev/reference/pillar-package.html","id":null,"dir":"Reference","previous_headings":"","what":"pillar: Coloured Formatting for Columns — pillar-package","title":"pillar: Coloured Formatting for Columns — pillar-package","text":"Formats tabular data columns rows using full range colours provided modern terminals. Provides various generics making every aspect display customizable.","code":""},{"path":[]},{"path":"https://pillar.r-lib.org/dev/reference/pillar-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"pillar: Coloured Formatting for Columns — pillar-package","text":"Maintainer: Kirill Müller kirill@cynkra.com (ORCID) Authors: Hadley Wickham contributors: RStudio [copyright holder]","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar-package.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"pillar: Coloured Formatting for Columns — pillar-package","text":"","code":"pillar(1:3) #> #> #> 1 #> 2 #> 3 pillar(c(1, 2, 3)) #> #> #> 1 #> 2 #> 3 pillar(factor(letters[1:3]), title = \"letters\") #> #> letters #> #> a #> b #> c tbl_format_setup(tibble::as_tibble(mtcars), width = 60) #> #> #> # A tibble: 32 × 11 #> #> mpg cyl disp hp drat wt qsec vs am #> #> 1 21 6 160 110 3.9 2.62 16.5 0 1 #> 2 21 6 160 110 3.9 2.88 17.0 0 1 #> 3 22.8 4 108 93 3.85 2.32 18.6 1 1 #> 4 21.4 6 258 110 3.08 3.22 19.4 1 0 #> 5 18.7 8 360 175 3.15 3.44 17.0 0 0 #> 6 18.1 6 225 105 2.76 3.46 20.2 1 0 #> 7 14.3 8 360 245 3.21 3.57 15.8 0 0 #> 8 24.4 4 147. 62 3.69 3.19 20 1 0 #> 9 22.8 4 141. 95 3.92 3.15 22.9 1 0 #> 10 19.2 6 168. 123 3.92 3.44 18.3 1 0 #> #> # ℹ 22 more rows #> # ℹ 2 more variables: gear , carb "},{"path":"https://pillar.r-lib.org/dev/reference/pillar.html","id":null,"dir":"Reference","previous_headings":"","what":"Object for formatting a vector suitable for tabular display — pillar","title":"Object for formatting a vector suitable for tabular display — pillar","text":"pillar() creates object formats vector. output uses one row title (given), one row type, vec_size(x) rows data.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Object for formatting a vector suitable for tabular display — pillar","text":"","code":"pillar(x, title = NULL, width = NULL, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/pillar.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Object for formatting a vector suitable for tabular display — pillar","text":"x vector format. title optional title column. title used \"\", quoting applied. width Default width, optional. ... Passed pillar_shaft().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Object for formatting a vector suitable for tabular display — pillar","text":"pillar consists arbitrary components. pillar() constructor uses title, type, data. title via new_pillar_title() type via new_pillar_type(), calls type_sum() internally data via pillar_shaft() components formatted via format() displaying pillar. width argument passed format() call. pillar 1.5.0, pillar() returns NULL width insufficient display data.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Object for formatting a vector suitable for tabular display — pillar","text":"","code":"x <- 123456789 * (10^c(-1, -3, -5, NA, -8, -10)) pillar(x) #> #> #> 12345679. #> 123457. #> 1235. #> NA #> 1.23 #> 0.0123 pillar(-x) #> #> #> -1.23e+7 #> -1.23e+5 #> -1.23e+3 #> NA #> -1.23e+0 #> -1.23e-2 pillar(runif(10)) #> #> #> 0.0808 #> 0.834 #> 0.601 #> 0.157 #> 0.00740 #> 0.466 #> 0.498 #> 0.290 #> 0.733 #> 0.773 pillar(rcauchy(20)) #> #> #> -0.416 #> 0.613 #> 0.108 #> 1.58 #> 3.16 #> 0.706 #> 3.20 #> 0.203 #> 2.74 #> -0.0770 #> 1.29 #> -1.59 #> -1.10 #> 0.707 #> -0.0612 #> -1.05 #> 0.163 #> -10.5 #> -1.42 #> -1.49 # Special values are highlighted pillar(c(runif(5), NA, NaN, Inf, -Inf)) #> #> #> 0.0312 #> 0.226 #> 0.301 #> 0.636 #> 0.479 #> NA #> NaN #> Inf #> -Inf # Very wide ranges will be displayed in scientific format pillar(c(1e10, 1e-10), width = 20) #> #> #> 1e+10 #> 1e-10 pillar(c(1e10, 1e-10)) #> #> #> 1e+10 #> 1e-10 x <- c(FALSE, NA, FALSE, FALSE, TRUE, FALSE, FALSE, TRUE, FALSE, TRUE) pillar(x) #> #> #> FALSE #> NA #> FALSE #> FALSE #> TRUE #> FALSE #> FALSE #> TRUE #> FALSE #> TRUE x <- c(\"This is string is rather long\", NA, \"?\", \"Short\") pillar(x) #> #> #> This is string is rather long #> NA #> ? #> Short pillar(x, width = 30) #> #> #> This is string is rather long #> NA #> ? #> Short pillar(x, width = 5) #> #> #> This… #> NA #> ? #> Short date <- as.Date(\"2017-05-15\") pillar(date + c(1, NA, 3:5)) #> #> #> 2017-05-16 #> NA #> 2017-05-18 #> 2017-05-19 #> 2017-05-20 pillar(as.POSIXct(date) + c(30, NA, 600, 3600, 86400)) #> #> #> 2017-05-15 00:00:30 #> NA #> 2017-05-15 00:10:00 #> 2017-05-15 01:00:00 #> 2017-05-16 00:00:00"},{"path":"https://pillar.r-lib.org/dev/reference/pillar_options.html","id":null,"dir":"Reference","previous_headings":"","what":"Package options — pillar_options","title":"Package options — pillar_options","text":"Options affect display tibble-like output.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_options.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Package options — pillar_options","text":"options can set via options() queried via getOption().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_options.html","id":"options-for-the-pillar-package","dir":"Reference","previous_headings":"","what":"Options for the pillar package","title":"Package options — pillar_options","text":"pillar.print_max: Maximum number rows printed, default: 20. Set Inf always print rows. compatibility reasons, getOption(\"tibble.print_max\") getOption(\"dplyr.print_max\") also consulted, soft-deprecated pillar v2.0.0. pillar.print_min: Number rows printed table print_max rows, default: 10. compatibility reasons, getOption(\"tibble.print_min\") getOption(\"dplyr.print_min\") also consulted, soft-deprecated pillar v2.0.0. pillar.width: Output width. Default: NULL (use getOption(\"width\")). can larger getOption(\"width\"), case output table's body distributed multiple tiers wide tibbles. compatibility reasons, getOption(\"tibble.width\") getOption(\"dplyr.width\") also consulted, soft-deprecated pillar v2.0.0. pillar.max_footer_lines: maximum number lines footer, default: 7. Set Inf turn truncation footer lines. max_extra_cols option still limits number columns printed. pillar.max_extra_cols: maximum number columns printed footer, default: 100. Set Inf show columns. Set predictable max_footer_lines control number footer lines instead. pillar.bold: Use bold font, e.g. column headers? currently defaults FALSE, many terminal fonts poor support bold fonts. pillar.subtle: Use subtle style, e.g. row numbers data types? Default: TRUE. pillar.subtle_num: Use subtle style insignificant digits? Default: FALSE, also affected subtle option. pillar.neg: Highlight negative numbers? Default: TRUE. pillar.sigfig: number significant digits printed highlighted, default: 3. Set subtle option FALSE turn highlighting significant digits. pillar.min_title_chars: minimum number characters column title, default: 20. Column titles may truncated width save horizontal space. Set Inf turn truncation column titles. pillar.min_chars: minimum number characters wide display character columns, default: 3. Character columns may truncated width save horizontal space. Set Inf turn truncation character columns. pillar.max_dec_width: maximum allowed width decimal notation, default: 13. pillar.bidi: Set TRUE experimental support bidirectional scripts. Default: FALSE. option set, \"left right override\" \"first strong isolate\" Unicode controls inserted ensure text appears intended direction column headings correspond correct columns. pillar.superdigit_sep: string inserted superscript digits column names footnote. Defaults \"\\u200b\", zero-width space, UTF-8 platforms, \": \" non-UTF-8 platforms. pillar.advice: advice displayed footer columns rows missing output? Defaults TRUE interactive sessions, FALSE otherwise.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_options.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Package options — pillar_options","text":"","code":"df <- tibble::tibble(x = c(1.234567, NA, 5:10)) df #> # A tibble: 8 × 1 #> x #> #> 1 1.23 #> 2 NA #> 3 5 #> 4 6 #> 5 7 #> 6 8 #> 7 9 #> 8 10 # Change for the duration of the session: old <- options( pillar.sigfig = 6, pillar.print_max = 5, pillar.print_min = 5, pillar.advice = FALSE ) df #> # A tibble: 8 × 1 #> x #> #> 1 1.23457 #> 2 NA #> 3 5 #> 4 6 #> 5 7 #> # ℹ 3 more rows # Change back to the original value: options(old) df #> # A tibble: 8 × 1 #> x #> #> 1 1.23 #> 2 NA #> 3 5 #> 4 6 #> 5 7 #> 6 8 #> 7 9 #> 8 10"},{"path":"https://pillar.r-lib.org/dev/reference/pillar_shaft.html","id":null,"dir":"Reference","previous_headings":"","what":"Column data — pillar_shaft","title":"Column data — pillar_shaft","text":"Internal class formatting data column. pillar_shaft() coercion method must implemented data type display tibble. class comes default method print() calls format(). print() called without width argument, natural width used calling format(). Usually need implement method subclass. subclass must implement format(), default implementation just raises error. format() method can assume valid value width argument.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_shaft.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Column data — pillar_shaft","text":"","code":"pillar_shaft(x, ...) # S3 method for class 'pillar_shaft' print(x, width = NULL, ...) # S3 method for class 'pillar_shaft' format(x, width, ...) # S3 method for class 'logical' pillar_shaft(x, ...) # S3 method for class 'numeric' pillar_shaft(x, ..., sigfig = NULL) # S3 method for class 'Date' pillar_shaft(x, ...) # S3 method for class 'POSIXt' pillar_shaft(x, ...) # S3 method for class 'character' pillar_shaft(x, ..., min_width = NULL) # S3 method for class 'glue' pillar_shaft(x, ..., min_width = NULL, na_indent = 0L, shorten = NULL) # S3 method for class 'list' pillar_shaft(x, ...) # S3 method for class 'factor' pillar_shaft(x, ...) # S3 method for class 'AsIs' pillar_shaft(x, ...) # Default S3 method pillar_shaft(x, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/pillar_shaft.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Column data — pillar_shaft","text":"x vector format ... Arguments passed methods. width Width printing formatting. sigfig Deprecated, use num() set_num_opts() data instead. min_width Deprecated, use char() set_char_opts() data instead. na_indent Indentation NA values. shorten abbreviate data necessary: \"back\" (default): add ellipsis end \"front\": add ellipsis front \"mid\": add ellipsis middle \"abbreviate\": use abbreviate()","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_shaft.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Column data — pillar_shaft","text":"default method currently format via format(), rely behavior.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/pillar_shaft.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Column data — pillar_shaft","text":"","code":"pillar_shaft(1:3) #> #> 1 #> 2 #> 3 pillar_shaft(1.5:3.5) #> #> 1.5 #> 2.5 #> 3.5 pillar_shaft(NA) #> #> NA pillar_shaft(c(1:3, NA)) #> #> 1 #> 2 #> 3 #> NA"},{"path":"https://pillar.r-lib.org/dev/reference/scale_x_num.html","id":null,"dir":"Reference","previous_headings":"","what":"Scale that supports formatted numbers — scale_x_num","title":"Scale that supports formatted numbers — scale_x_num","text":"scale used default ggplot2 columns created num().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/scale_x_num.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Scale that supports formatted numbers — scale_x_num","text":"","code":"scale_x_num( ..., position = \"bottom\", guide = ggplot2::waiver(), rescaler = NULL, super = NULL ) scale_y_num(..., guide = ggplot2::waiver(), rescaler = NULL, super = NULL)"},{"path":"https://pillar.r-lib.org/dev/reference/scale_x_num.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Scale that supports formatted numbers — scale_x_num","text":"... Arguments passed ggplot2::continuous_scale aesthetics names aesthetics scale works . palette palette function called numeric vector values 0 1 returns corresponding output values (e.g., scales::pal_area()). name name scale. Used axis legend title. waiver(), default, name scale taken first mapping used aesthetic. NULL, legend title omitted. breaks One : NULL breaks waiver() default breaks computed transformation object numeric vector positions function takes limits input returns breaks output (e.g., function returned scales::extended_breaks()). Note position scales, limits provided scale expansion. Also accepts rlang lambda function notation. minor_breaks One : NULL minor breaks waiver() default breaks (one minor break major break) numeric vector positions function given limits returns vector minor breaks. Also accepts rlang lambda function notation. function two arguments, given limits major breaks. n.breaks integer guiding number major breaks. algorithm may choose slightly different number ensure nice break labels. effect breaks = waiver(). Use NULL use default number breaks given transformation. labels One : NULL labels waiver() default labels computed transformation object character vector giving labels (must length breaks) expression vector (must length breaks). See ?plotmath details. function takes breaks input returns labels output. Also accepts rlang lambda function notation. limits One : NULL use default scale range numeric vector length two providing limits scale. Use NA refer existing minimum maximum function accepts existing (automatic) limits returns new limits. Also accepts rlang lambda function notation. Note setting limits positional scales remove data outside limits. purpose zoom, use limit argument coordinate system (see coord_cartesian()). oob One : Function handles limits outside scale limits (bounds). Also accepts rlang lambda function notation. default (scales::censor()) replaces bounds values NA. scales::squish() squishing bounds values range. scales::squish_infinite() squishing infinite values range. expand position scales, vector range expansion constants used add padding around data ensure placed distance away axes. Use convenience function expansion() generate values expand argument. defaults expand scale 5% side continuous variables, 0.6 units side discrete variables. na.value Missing values replaced value. transform continuous scales, name transformation object object . Built-transformations include \"asn\", \"atanh\", \"boxcox\", \"date\", \"exp\", \"hms\", \"identity\", \"log\", \"log10\", \"log1p\", \"log2\", \"logit\", \"modulus\", \"probability\", \"probit\", \"pseudo_log\", \"reciprocal\", \"reverse\", \"sqrt\" \"time\". transformation object bundles together transform, inverse, methods generating breaks labels. Transformation objects defined scales package, called transform_. transformations require arguments, can call scales package, e.g. scales::transform_boxcox(p = 2). can create transformation scales::new_transform(). trans Deprecated favour transform. call call used construct scale reporting messages. guide, position Passed ggplot2::continuous_scale() rescaler, super Must remain NULL.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/squeeze.html","id":null,"dir":"Reference","previous_headings":"","what":"Squeeze a colonnade to a fixed width — squeeze","title":"Squeeze a colonnade to a fixed width — squeeze","text":"squeeze() function usually need called manually. returns object suitable printing formatting fixed width additional information omitted columns, can retrieved via extra_cols().","code":""},{"path":"https://pillar.r-lib.org/dev/reference/squeeze.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Squeeze a colonnade to a fixed width — squeeze","text":"","code":"squeeze(x, width = NULL, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/style_subtle.html","id":null,"dir":"Reference","previous_headings":"","what":"Styling helpers — style_num","title":"Styling helpers — style_num","text":"Functions allow implementers formatters custom data types maintain consistent style default data types.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/style_subtle.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Styling helpers — style_num","text":"","code":"style_num(x, negative, significant = rep_along(x, TRUE)) style_subtle(x) style_subtle_num(x, negative) style_bold(x) style_na(x) style_neg(x)"},{"path":"https://pillar.r-lib.org/dev/reference/style_subtle.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Styling helpers — style_num","text":"x character vector style. negative, significant Logical vector length x indicate values negative significant, respectively","code":""},{"path":"https://pillar.r-lib.org/dev/reference/style_subtle.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Styling helpers — style_num","text":"style_subtle() affected subtle option. style_subtle_num() affected subtle_num option, FALSE default. style_bold() affected bold option, FALSE default. style_neg() affected pillar.neg option.","code":""},{"path":[]},{"path":"https://pillar.r-lib.org/dev/reference/style_subtle.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Styling helpers — style_num","text":"","code":"style_num( c(\"123\", \"456\"), negative = c(TRUE, FALSE) ) #> [1] \"\\033[31m123\\033[39m\" \"456\" style_num( c(\"123\", \"456\"), negative = c(TRUE, FALSE), significant = c(FALSE, FALSE) ) #> [1] \"\\033[31m123\\033[39m\" \"456\" style_subtle(\"text\") #> [1] \"\\033[38;5;246mtext\\033[39m\" style_subtle_num(0.01 * 1:3, c(TRUE, FALSE, TRUE)) #> [1] \"\\033[31m0.01\\033[39m\" \"0.02\" \"\\033[31m0.03\\033[39m\" style_bold(\"Petal.Width\") #> [1] \"Petal.Width\" style_na(\"NA\") #> [1] \"\\033[31mNA\\033[39m\" style_neg(\"123\") #> [1] \"\\033[31m123\\033[39m\""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_body.html","id":null,"dir":"Reference","previous_headings":"","what":"Format the body of a tibble — tbl_format_body","title":"Format the body of a tibble — tbl_format_body","text":"easier customization, formatting tibble split three components: header, body, footer. tbl_format_body() method responsible formatting body tibble. Override method need change appearance parts body. need change appearance single data type, override vctrs::vec_ptype_abbr() pillar_shaft() data type.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_body.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format the body of a tibble — tbl_format_body","text":"","code":"tbl_format_body(x, setup, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_body.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format the body of a tibble — tbl_format_body","text":"x tibble-like object. setup setup object returned tbl_format_setup(). ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_body.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Format the body of a tibble — tbl_format_body","text":"character vector.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_body.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format the body of a tibble — tbl_format_body","text":"","code":"setup <- tbl_format_setup(palmerpenguins::penguins) tbl_format_body(palmerpenguins::penguins, setup) #> species island bill_length_mm bill_depth_mm flipper_length_mm #> #> 1 Adelie Torgersen 39.1 18.7 181 #> 2 Adelie Torgersen 39.5 17.4 186 #> 3 Adelie Torgersen 40.3 18 195 #> 4 Adelie Torgersen NA NA NA #> 5 Adelie Torgersen 36.7 19.3 193 #> 6 Adelie Torgersen 39.3 20.6 190 #> 7 Adelie Torgersen 38.9 17.8 181 #> 8 Adelie Torgersen 39.2 19.6 195 #> 9 Adelie Torgersen 34.1 18.1 193 #> 10 Adelie Torgersen 42 20.2 190 # Shortcut for debugging tbl_format_body(setup) #> #> species island bill_length_mm bill_depth_mm flipper_length_mm #> #> 1 Adelie Torgersen 39.1 18.7 181 #> 2 Adelie Torgersen 39.5 17.4 186 #> 3 Adelie Torgersen 40.3 18 195 #> 4 Adelie Torgersen NA NA NA #> 5 Adelie Torgersen 36.7 19.3 193 #> 6 Adelie Torgersen 39.3 20.6 190 #> 7 Adelie Torgersen 38.9 17.8 181 #> 8 Adelie Torgersen 39.2 19.6 195 #> 9 Adelie Torgersen 34.1 18.1 193 #> 10 Adelie Torgersen 42 20.2 190"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_footer.html","id":null,"dir":"Reference","previous_headings":"","what":"Format the footer of a tibble — tbl_format_footer","title":"Format the footer of a tibble — tbl_format_footer","text":"easier customization, formatting tibble split three components: header, body, footer. tbl_format_footer() method responsible formatting footer tibble. Override extend method need change appearance footer. default implementation adds information rows columns shown body.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_footer.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format the footer of a tibble — tbl_format_footer","text":"","code":"tbl_format_footer(x, setup, ...)"},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_footer.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format the footer of a tibble — tbl_format_footer","text":"x tibble-like object. setup setup object returned tbl_format_setup(). ... dots future extensions must empty.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_footer.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Format the footer of a tibble — tbl_format_footer","text":"character vector.","code":""},{"path":"https://pillar.r-lib.org/dev/reference/tbl_format_footer.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format the footer of a tibble — tbl_format_footer","text":"","code":"setup <- tbl_format_setup(palmerpenguins::penguins) tbl_format_footer(palmerpenguins::penguins, setup) #> [1] \"\\033[38;5;246m# ℹ 334 more rows\\033[39m\" #> [2] \"\\033[38;5;246m# ℹ 3 more variables: body_mass_g
Müller K, Wickham H (2024). pillar: Coloured Formatting for Columns. -R package version 1.9.0.9031, https://github.com/r-lib/pillar, https://pillar.r-lib.org/. +R package version 1.9.0.9035, 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.0.9031, https://github.com/r-lib/pillar}, + note = {R package version 1.9.0.9035, https://github.com/r-lib/pillar}, url = {https://pillar.r-lib.org/}, }
NEWS.md
Ignore errors when removing pkg-config on macOS (#695).
Explicit permissions (#693).
Use styler from main branch (#691).
Need to install R on Ubuntu 24.04 (#689).
Use Ubuntu 24.04 and styler PR (#687).