如何使用DT包中的renderDataTable()格式化数据表的列?

Ben*_*Ben 6 r shiny dt

我可以像这样格式化数据表对象的列

library(DT)
datatable(data.frame(Amount=c(1.00, 2.20, 4.15))) %>% formatCurrency(columns='Amount')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是我怎么能这样做renderDataTable()呢?

library(shiny)
library(DT)

ui <- shinyUI(fluidPage(
  DT::dataTableOutput('dtoMyTable')
))

server <- shinyServer(function(input, output){
  output$dtoMyTable <- DT::renderDataTable({
    data.frame(Amount=c(1.00, 2.20, 4.15))
  })
})

shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

dra*_*doc 5

阅读有关的帮助页面DT::renderDataTable

renderDataTable(expr,...

expr
一个表达式以创建一个表格小部件(通常通过datatable()),或者将一个数据对象传递给datatable()以创建一个表格小部件

因此,您只需先创建datatable对象,然后根据需要设置格式,然后调用renderDataTable

server <- shinyServer(function(input, output){
  dt <- datatable(data.frame(Amount=c(1.00, 2.20, 4.15))) %>% 
    formatCurrency(columns='Amount')
  output$dtoMyTable <- DT::renderDataTable({dt})
})
Run Code Online (Sandbox Code Playgroud)