【发布时间】:2016-12-17 05:59:52
【问题描述】:
我可以像这样格式化数据表对象的一列
library(DT)
datatable(data.frame(Amount=c(1.00, 2.20, 4.15))) %>% formatCurrency(columns='Amount')
但是我怎样才能使用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)
【问题讨论】:
-
@brittenb 注意最后一句“由于用户在数据列中格式化数字很常见,我们在这个包中提供了一些简单的辅助函数(例如 formatCurrency())来完成这些任务以一种更简单的方式,因此您不必自己编写 JavaScript 代码。”但没有给出这方面的例子。
-
renderDataTable采用DT::datatable对象,或者可以强制转换为DT::datatable对象的对象。因此,您只需将data.frame调用与DT::datatable()包装在server一侧,然后将其通过管道传输到formatCurrency。 -
啊,谢谢@brittenb