Skip to content

Add the fmt_partsper() function#914

Merged
rich-iannone merged 36 commits intomasterfrom
fmt-per
Apr 27, 2022
Merged

Add the fmt_partsper() function#914
rich-iannone merged 36 commits intomasterfrom
fmt-per

Conversation

@rich-iannone
Copy link
Copy Markdown
Member

@rich-iannone rich-iannone commented Mar 23, 2022

With the new fmt_partsper() function, we can now format values as high-ratio, dimensionless quantities. These are less common that percentage values but no less important (some of these are used extensively, depending on the field of study). The list of formats (with their associated keywords) are:

  • "per-mille": Per mille, (1 part in 1,000)
  • "per-myriad": Per myriad, (1 part in 10,000)
  • "pcm": Per cent mille (1 part in 100,000)
  • "ppm": Parts per million, (1 part in 1,000,000)
  • "ppb": Parts per billion, (1 part in 1,000,000,000)
  • "ppt": Parts per trillion, (1 part in 1,000,000,000,000)
  • "ppq": Parts per quadrillion, (1 part in 1,000,000,000,000,000)

The function is structured similarly to fmt_percent() but there is some flexibility here to provide a replacement symbol if needed (e.g., ppm -> ppmV).

Here is an example with per mille formatting:

library(gt)
library(tidyverse)

dplyr::tibble(x = 0:-5, a = 10^(0:-5), b = a) %>%
  gt(rowname_col = "x") %>%
  fmt_scientific(a, decimals = 0) %>%
  fmt_partsper(
    columns = b,
    to_units = "per-mille"
  )

per-mille-formatting

Fixes: #608

* master:
  Make changes based on code review
  Correct stopifnot stmts
  Make changes based on code review
  Make corrections based on code review
  Don't show ind suffix for is.infinite(x) or x == 0
  Simplify formatting in Ind number system
  Revise docs for `insert_seps_ind()` util fn
  Refactor insertion point calculation
  Add missing space
  Update test-fmt_percent.R
  Update test-fmt_fraction.R
  Update utils_formatters.R
  Update format_data.R
  Add several testthat tests
  Update help files using roxygen
  Ensure that 'ind' system produces suffixes
  Simplify formatting of integers
  Implement Indian numbering system support
@rich-iannone rich-iannone marked this pull request as ready for review March 23, 2022 18:19
Copy link
Copy Markdown
Member

@jcheng5 jcheng5 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Rename fmt_ratio to fmt_partsper
  2. Take out the changes to context_symbol_str, leave that to (eventually) be currency-only

@rich-iannone rich-iannone changed the title Add the fmt_ratio() function Add the fmt_partsper() function Apr 8, 2022
@jcheng5 jcheng5 self-requested a review April 26, 2022 21:22
@rich-iannone rich-iannone merged commit dc02343 into master Apr 27, 2022
@rich-iannone rich-iannone deleted the fmt-per branch April 27, 2022 00:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add the fmt_partsper() function

2 participants