如何重命名 Shiny renderTable 中的列?

Car*_*lla 1 formatting r shiny

我在 Shiny 中使用 renderTable 来显示表格。我在重命名输出中的列名时遇到问题。

服务器.R:

reactive.tables <- reactiveValues()

output$lump.sum <- renderTable(
  if(input$my.password != am.password$password){
    data.frame(`There is no` = "report")
  } else {
    print(1)
    reactive.tables$occupancies %>%  # sum amounts by company
      group_by(company) %>%
      summarise(lump.sum.2 = sum(lump.sum.2), n = n()) %>%
      na.omit
  },
  colnames(output$lump.sum.2) = c("company", "lump sum", "occupancies")
)
Run Code Online (Sandbox Code Playgroud)

在响应式上下文之外重命名列似乎工作正常。但是,每次我在此反应式数据框中指定 colnames 参数时,都会收到以下错误:

ERROR: Error sourcing C:\Users\Carlos\AppData\Local\Temp\RtmpmmVUym\fileb803ae92d13
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激。

Car*_*lla 5

我想到了。您可以使用 rename() 简单地重命名列,而不是搞乱 renderTable 选项:

output$lump.sum <- renderTable(
  if(input$my.password != am.password$password){
    data.frame(`There is no` = "report")
  } else {
    print(1)
  reactive.tables$lump.sum <- reactive.tables$occupancies %>%  # sum amounts by company
    group_by(company.unduplicated) %>%
    summarise(lump.sum.2 = sum(lump.sum.2), n = n()) %>%
    na.omit %>%
    rename(Company = company.unduplicated, Sum = lump.sum.2, Count = n)
},
colnames = TRUE
)
Run Code Online (Sandbox Code Playgroud)

例子。