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 = "",
...
)
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 ofbig.mark
argument,decimal.mark
is set to the value ofdecimal.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.
See also
Other cells formatters:
colformat_char()
,
colformat_date()
,
colformat_datetime()
,
colformat_double()
,
colformat_image()
,
colformat_int()
,
colformat_lgl()
,
set_formatter()
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