科学记数法的灵活格式列

Flextable format column to scientific notation

我正在尝试找出将可伸缩对象的列转换为科学记数法的正确语法。这对 flextable 包可行吗?

格式化前我们的数字

numbers = c(500, 1.4, 1999999, 0.3333, 0.00001)

之后:

new_numbers <- formatC(numbers, format = "e", digits = 3)

制作 data.frame

data_flex <- data.frame(
     id = c(1:5),
     new_numbers
 )

制作 table

new_table <- flextable(data_flex)

您可以使用函数 set_formatter(),您可以在其中定义您想要的任何格式化程序。

library(flextable)
library(magrittr)

numbers <- c(500, 1.4, 1999999, 0.3333, 0.00001)
dataset <- data.frame(
  id = c(1:5),
  numbers = numbers)

flextable(dataset) %>% 
  set_formatter(numbers = function(x) {
    formatC(x, format = "e", digits = 3)
  })