Learn R Programming

flextable (version 0.7.0)

colformat_num: format numeric cells

Description

Format numeric cells in a flextable.

The function is different from colformat_double() on numeric type columns. The function uses the format() function of R on numeric type columns. So this is normally what you see on the R console most of the time (but scientific mode is disabled, NA are replaced, etc.).

Usage

colformat_num(
  x,
  i = NULL,
  j = NULL,
  big.mark = get_flextable_defaults()$big.mark,
  decimal.mark = get_flextable_defaults()$decimal.mark,
  na_str = get_flextable_defaults()$na_str,
  nan_str = get_flextable_defaults()$nan_str,
  prefix = "",
  suffix = "",
  ...
)

Arguments

x

a flextable object

i

rows selection

j

columns selection.

big.mark, decimal.mark
na_str

string to be used for NA and NaN values

nan_str

string to be used for NA and NaN values

prefix

string to be used as prefix or suffix

suffix

string to be used as prefix or suffix

...

additional argument for function format(), scientific and digits can not be used.

format call

Function format() is called with the following values:

  • trim is set to TRUE,

  • scientific is set to FALSE,

  • big.mark is set to the value of big.mark argument,

  • decimal.mark is set to the value of decimal.mark argument,

  • other arguments are passed 'as is' to the format function.

argument digits is ignored as it is not the same digits that users want, this one will be used by format() and not formatC(). To change the digit argument use options(digits=4) instead.

This argument will not be changed because colformat_num() is supposed to format things roughly as what you see on the R console.

If you are not happy with these choices, use set_formatter() and define your own format.

Illustrations

See Also

Other cells formatters: colformat_char(), colformat_datetime(), colformat_date(), colformat_double(), colformat_image(), colformat_int(), colformat_lgl(), compose(), set_formatter()

Examples

Run this code
# NOT RUN {
dat <- mtcars
dat[2,1] <- NA
ft <- flextable(head(dat))
ft <- colformat_num(x = ft,
  big.mark=" ", decimal.mark = ",",
  na_str = "N/A")
ft <- autofit(ft)
ft
# }

Run the code above in your browser using DataLab