Есть ли способ установить значительный дисплей di git в гибкой таблице? - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь установить значимое значение di git для объекта .

# Select data from a dataframe
ft <- flextable(data, col_keys = c(1,2,3,4)) 
# adjust digit display in columns 3 and 4 of flextable
ft <- colformat_num(ft, j = c(3,4), digits = 4)

Однако аргумент digits в этом фрагменте устанавливает цифры после десятичная точка, в отличие от округления числа до n значащих цифр. Вот пример формулы из Excel:

= ROUND (число, цифры - (1 + INT (LOG10 (ABS (число)))))

Может ли это быть воспроизведенным в команде flextable? Спасибо за помощь!

1 Ответ

0 голосов
/ 21 февраля 2020

Вы можете создать функцию форматирования и использовать set_formatter:

library(flextable)

round_and_format <- function(number) {
  rr <- round(number,digits-(1+as.integer(log10(abs(number)))))
  as.character(rr)
}

ft <- flextable(head(iris))
ft <- set_formatter(ft, Sepal.Length = round_and_format, Sepal.Width = round_and_format)
ft <- autofit(ft)
print(ft)

enter image description here

...