@ XiongbingJin在Stack Overflow上的示例允许用户首先显示完整数据集,然后使用checkboxGroupInput更改要显示的列。
我希望得到一些不同的帮助:
我想要的是什么:
carb
,wt
,drat
mtars datset
),而不是完整数据集。 vs
)。 @XiongbingJin例子:
library(shiny)
runApp(list(
ui = basicPage(
selectInput("select", "Select columns to display", names(mtcars), multiple =
TRUE),
h2('The mtcars data'),
dataTableOutput('mytable')
),
server = function(input, output) {
output$mytable = renderDataTable({
columns = names(mtcars)
if (!is.null(input$select)) {
columns = input$select
}
mtcars[,columns,drop=FALSE]
})
}
))
答案 0 :(得分:1)
正如@Marc P所建议的那样,您可以通过将其提供给names(mtcars)
参数来专注于selected
的子集。这也有利于摆脱input$select
为null
的情况。
library(shiny)
ui = basicPage(
selectInput("select", "Select columns to display",
names(mtcars),
selected = names(mtcars)[c(1, 3)], # display 1st and 3rd variables
multiple = TRUE),
h2('The mtcars data'),
dataTableOutput('mytable')
)
server = function(input, output) {
output$mytable = renderDataTable({
mtcars[, input$select, drop=FALSE]
})
}
shinyApp(ui, server)