2017-05-03 67 views
1

我在Shiny中使用renderTable来显示table。我在重命名输出中的列名时遇到问题。如何重命名闪亮renderTable中的列?

server.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") 
) 

重命名列似乎工作的反应方面的罚款之外。然而,每一次我指定此反应数据帧中的colnames说法,我得到以下错误:

ERROR: Error sourcing C:\Users\Carlos\AppData\Local\Temp\RtmpmmVUym\fileb803ae92d13 

任何建议,将不胜感激。

+0

凡'$输出最初annual.sum'定义?它是'输出$ lump.sum'拼写错误吗? – Parfait

+0

我不认为它很重要,因为我怀疑可以设置引用类似这样的输出的colname。但我同意我们需要一个可重复的例子,... – BigDataScientist

回答

2

我想通了。相反瞎搞与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 
) 

Example.