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

时间:2019-06-10 23:00:30

标签: r knitr kable

是否有一种方法可以在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函数以将数字样式设置为货币吗?

1 个答案:

答案 0 :(得分:1)

Facepalm时刻输入我的原始问题。这是我最终得到的结果,在将数据帧传递到curency时使用formattable包中的kable(可能有更好的方法,我只需要6个月的时间使用R):

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)