如何在 knitr::kable 函数中格式化数字

How to format numbers within knitr::kable function

有没有办法在 kable 函数中格式化数字而不将源对象中的数据转换为格式化字符串?

library(dplyr)
library(knitr)
library(kableExtra)

test.data <- data.frame(merchant = c("merchant 1",
                                     "merchant 2",
                                     "merchant 3",
                                     "merchant 4",
                                     "merchant 5"), 
                        amount = c(3158.01,
                                   2341.67,
                                   1873.24,
                                   1578.15,
                                   1273.19))

test.data %>%
  kable() %>%
  kable_styling(full_width = FALSE)

我需要将什么传递给 kable 函数才能将数字设置为货币样式?

这是我最终得到的结果,在将数据帧传递给 kable 时使用 formattable 包中的 curency (可能有更好的方法,我使用 R 仅 6 个月):

library(dplyr)
library(knitr)
library(kableExtra)
library(formattable)

test.data <- data.frame(merchant = c("merchant 1",
                                     "merchant 2",
                                     "merchant 3",
                                     "merchant 4",
                                     "merchant 5"), 
                        amount = c(3158.01,
                                   2341.67,
                                   1873.24,
                                   1578.15,
                                   1273.19))
data.frame(test.data$merchant, currency(test.data$amount)) %>%
  kable(col.names = c("Merchant", "Amount Spent")) %>%
  kable_styling(full_width = FALSE)