2017-11-04 8 views
1

ユーザーが変更できるradioButtonを使用してデータテーブルに列を表示しようとしています。ラジオボタンを使用してデータテーブルの列を表示する(シャイニー)

は、これまでのところ、私のコードは次のとおりです。

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を持つradioButtonsが表示されますが、datatableは表示されません。

+1

なぜ単にcolVis拡張子を使用しないのですか? https://rstudio.github.io/DT/extensions.html –

+0

の 'output $ table'の2行目に' DT :: datatable({table} 'は何のための" table "ですか? –

+0

@Addison Hayesそれがあなたにとって有益だったら答えを受け入れる? – 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) 

このアプリケーションを実行すると、ラジオボタンの選択に基づいてデータテーブルが表示されます。

関連する問題