R 控制编号格式为闪亮';DataTable的实现 目标

R 控制编号格式为闪亮';DataTable的实现 目标,r,datatables,jquery-datatables,shiny,R,Datatables,Jquery Datatables,Shiny,默认情况下,在一个闪亮的数据表中使用数千个分隔符呈现大量数字 问题 文档(对我来说)应该已经显示了上千个分隔符。我是否遇到兼容性问题,或者我是否需要向代码中添加更多内容,如果是,是什么以及如何添加 [UPDATE]还有另一种方法试图解决在Shining中对预格式化数据的排序问题。这个问题还没有解决,但提出了另一条途径——事先格式化。这是一条明智的路线吗?如果是,如何正确解决其他OP的排序问题 背景 我试图改进shiny中表格的输出,以提高可读性。我已经成功地使用了另一个冻结标题,但我正在努力使数

默认情况下,在一个闪亮的数据表中使用数千个分隔符呈现大量数字

问题 文档(对我来说)应该已经显示了上千个分隔符。我是否遇到兼容性问题,或者我是否需要向代码中添加更多内容,如果是,是什么以及如何添加

[UPDATE]还有另一种方法试图解决在Shining中对预格式化数据的排序问题。这个问题还没有解决,但提出了另一条途径——事先格式化。这是一条明智的路线吗?如果是,如何正确解决其他OP的排序问题

背景 我试图改进shiny中表格的输出,以提高可读性。我已经成功地使用了另一个冻结标题,但我正在努力使数字格式正确

MWE 浏览器详细信息
Chrome:Version 39.0.2171.71 m

尝试将传递到
renderDatatable()
的df格式化为数千格式

df$x <- format(df$x, big.mark=',', scientific=FALSE) 

df$x一个
prettyNum的
format
问题在于这些函数产生字符而不是数字。因此,不可能设置渲染表的样式。 此示例中的解决方案可能如下所示:

  output$tab <- renderDataTable({ 
  datatable(mytable) %>%
      formatCurrency(columns = ..., currency = "", interval = 3, mark = ",") %>%
      formatStyle(
      columns = ...,
      color = styleInterval(myThreshold, c("black", "red"))) }) 
output$tab%
formatCurrency(列=…,currency=,间隔=3,标记=,“”%>%
格式样式(
列=。。。,
颜色=样式间隔(myThreshold,c(“黑色”、“红色”))})

我知道这是一篇很老的帖子,但是我今天也在努力解决这个问题,所以我认为其他人可能会从这个解决方案中获得价值

由于提出了该问题,RStudio(or)发布了
DT
软件包。 乍一看,如何设置数字的格式并不太明显,因为它们不是与is
formatCurrency
类似的
formatNumber
函数。解决方法是使用
formatCurrency
并将currency参数设置为nothing。下面的例子

library(shiny)
library(DT)
runApp(
  list(ui = fluidPage(
    DT::dataTableOutput("mytable")
  ),
  server = function(input, output, session) {
    output$mytable <- DT::renderDataTable(
      DT::datatable(iris*1000, 
                    options = list(pageLength = 50, 
                                   columnDefs = list(list(className = 'dt-left', 
                                                          targets = 0:4)))) %>% 
        formatCurrency(1:4, '')
    )
  }
  )
)
库(闪亮)
图书馆(DT)
runApp(
列表(ui=fluidPage)(
DT::dataTableOutput(“mytable”)
),
服务器=功能(输入、输出、会话){
输出$mytable%
格式货币(1:4,“”)
)
}
)
)
df$x<-prettyNum(df$x, big.mark = ",")
  output$tab <- renderDataTable({ 
  datatable(mytable) %>%
      formatCurrency(columns = ..., currency = "", interval = 3, mark = ",") %>%
      formatStyle(
      columns = ...,
      color = styleInterval(myThreshold, c("black", "red"))) }) 
library(shiny)
library(DT)
runApp(
  list(ui = fluidPage(
    DT::dataTableOutput("mytable")
  ),
  server = function(input, output, session) {
    output$mytable <- DT::renderDataTable(
      DT::datatable(iris*1000, 
                    options = list(pageLength = 50, 
                                   columnDefs = list(list(className = 'dt-left', 
                                                          targets = 0:4)))) %>% 
        formatCurrency(1:4, '')
    )
  }
  )
)