闪亮的renderTable与逗号

时间:2014-10-16 18:08:23

标签: r shiny

在我的闪亮包中,我有以下代码:

output$growthTable <- renderTable({
  table <- makeTable()
  colnames(table) <- c("Year","BOY Balance", "Yearly Growth", "EOY Contribution", "EOY Balance")
  return(table)
}, include.rownames = FALSE)

如何让最后4列中包含逗号。那么例如10000变为10,000

1 个答案:

答案 0 :(得分:4)

由于您没有提供可重现的示例,因此这是一个如何操作的工作演示。据我所知,无法使用renderTable语句指定数字格式,因此您必须重新格式化您的值。关键是使用formatprettyNum并设置big.mark选项。但请注意,这是将数值转换为字符。一旦没有进一步处理值,建议您进行格式转换。

require(shiny)
data(iris)

runApp(
  list(
    ui = fluidPage(
      headerPanel('Print big numbers with comma'),
      mainPanel(
        tableOutput("table"))
    ),

    server = function(input, output) {

      makeTable <- reactive({
        iris[,1:4] <- iris[1:4] * 1000
        #iris[,1:4] <- sapply(iris[,1:4], FUN=function(x) format(x, big.mark=","))
        iris[,1:4] <- sapply(iris[,1:4], FUN=function(x) prettyNum(x, big.mark=","))
        iris
      })

      output$table <- renderTable({
        table <- makeTable()
        table
      }, include.rownames = FALSE)
    }
  )
)