R Shiny renderTable指定多列格式

时间:2018-05-04 18:15:59

标签: r shiny

我有一个大型数据表,我正在使用R Shiny renderTable来显示。它是我希望显示为货币的数字数据,日期,字符串和数字的混合。我想指定显示时要应用的格式列表。我不想改变底层数据的数据类型(比如sprintf会这样做),因为我需要数字数据保持数字,以便进行与某些小部件处理的数据的被动更改相关的其他操作。示例(我有比这更多的列):

    Region     Rank    Name    Amount . . .many other columns
    1.00       1.00    Thing1  50.00  . . .many other values

并希望得到:

    Region     Rank    Name    Amount . . .many other columns
    1          1       Thing1  $50.00 . . .many other formatted values

代码看起来像这样(来自单选按钮的用户输入):

    server <- function(input, output) {
        data <- reactive({  
            if (input$region=="13"){
             mydata[Rank<=25]
        }
        else {
            mydata[Region==as.numeric(input$region)]}
        })

        output$tbl <- renderTable({data()
            })
    }

我意识到我可以在反应数据函数的末尾插入格式化代码,但就像我上面写的那样,我有很多很多列,我希望避免在这里创建大量代码。我想我可以遍历列并应用列表中的格式。但是,我希望在表格呈现之前/之前尽可能晚地应用这些格式。原因(未在此处显示)是我将进行一些更复杂的数值运算。理想情况下,renderTable中的格式。据我所知,renderTable应该采用数字向量和对应xtable参数的显示。但是,我无法找到如何执行此操作的示例。

很抱歉这个问题很长。希望这是有道理的。

0 个答案:

没有答案