Skip to contents

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 and NA are replaced).

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

see format()

na_str, nan_str

string to be used for NA and NaN values

prefix, 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 these functions does not fit your needs, use set_formatter() that lets you use any format function.

Examples

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

mpg

cyl

disp

hp

drat

wt

qsec

vs

am

gear

carb

21,0

6

160

110

3,90

2,620

16,46

0

1

4

4

N/A

6

160

110

3,90

2,875

17,02

0

1

4

4

22,8

4

108

93

3,85

2,320

18,61

1

1

4

1

21,4

6

258

110

3,08

3,215

19,44

1

0

3

1

18,7

8

360

175

3,15

3,440

17,02

0

0

3

2

18,1

6

225

105

2,76

3,460

20,22

1

0

3

1