我正在尝试使用用户可以更改的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但没有数据表的radioButtons。
答案 0 :(得分: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)
如果您运行此应用程序,您将看到它根据您选择的单选按钮显示数据表。