2017-11-04 95 views
1

我想使用用户可以更改的radioButtons在数据表中显示列。使用radioButtons在数据表中显示列(闪亮)

到目前为止,我的代码是:

UI:

fluidRow(column(4, radioButtons("radio","Choose:",c("A","B"))))), 
fluidRow(DT::dataTableOutput("table")) 

服务器:

输出

$table <- DT::renderDataTable({ 
    DT::datatable({table 

    if (input$radio != "A") { 
    table <- table[,1:5] 
    } 

    if (input$radio != "B") { 
    table <- table[,6:10)] 
    } 

    table 

})},rownames = FALSE,options = list(lengthMenu = c(25,50,100))) 

当我运行应用程序时,它显示的是带A和B但无数据表的radioButton。

+1

为什么不只是使用colVis扩展? https://rstudio.github.io/DT/extensions.html –

+0

在你的'output $ table'的第2行,'DT :: datatable({table'什么是“表”? –

+0

@Addison Hayes Can you如果对你有帮助,接受答案? – Santosh

回答

0

你的代码有很多问题。我修复了您的代码并在mtcars数据集上进行了测试。

library(shiny) 

ui <- fluidPage(

    sidebarLayout(
    sidebarPanel(
     radioButtons("radio","Choose:", choices = list("A" = "A", "B" = "B")) 
    ), 

    mainPanel(
     dataTableOutput("table") 
    ) 
    ) 
) 

server <- function(input, output) { 

    output$table <- renderDataTable({ 
    if (input$radio == "A") { 
     table1 <- mtcars[,1:5] 
    } 
    else { 
     table1 <- mtcars[,6:10] 
    } 
    table1 
    }) 
} 

# Run the application 
shinyApp(ui = ui, server = server) 

如果您运行此应用程序,您将看到它显示基于您单选按钮选择的数据表。