【发布时间】:2014-07-23 16:35:11
【问题描述】:
我有这样的声明,可以让我获得关于我的变量的基本描述性统计数据:
checkboxGroupInput('show_vars', 'Columns in diamonds to show:',
names(input_data), selected = names(input_data))
然而,在不得不取消单击 10 个变量以获取我感兴趣的一个变量之后,我意识到这个用户界面不是很友好。我想添加一个按钮,当您单击它时选择/取消选择全部。可以多次点击。我什至不知道如何开始。任何轻推都会有所帮助。
ui.R:
library(shiny)
hw<-diamonds
shinyUI(fluidPage(
title = 'Examples of DataTables',
sidebarLayout(
sidebarPanel(
checkboxGroupInput('show_vars', 'Columns in diamonds to show:',
names(hw), selected = names(hw))
),
mainPanel(
verbatimTextOutput("summary"),
tabsetPanel(
id = 'dataset',
tabPanel('hw', dataTableOutput('mytable1'))
)
)
)
))
服务器.R:
library(shiny)
data(diamonds)
hw<-diamonds
shinyServer(function(input, output) {
output$summary <- renderPrint({
dataset <- hw[, input$show_vars, drop = FALSE]
summary(dataset)
})
# a large table, reative to input$show_vars
output$mytable1 <- renderDataTable({
library(ggplot2)
hw[, input$show_vars, drop = FALSE]
})
})
【问题讨论】:
-
请提供其余代码 -
server.R、ui.R,以及测试程序所需的任何数据。 -
hw 原本是别的东西,所以我很快就为 diamonds 数据集整理了一些东西。
-
为什么不直接使用
selectize(multiple = TRUE)而不是checkboxGroupInput()?您还将selected =设置为names(...),这就是选择所有内容的原因 - 只需设置selected = ''即可解决此问题。此解决方案不会让您选择“全部”选项(即使我正在寻找),但对于大约 10 种选择,我认为这是要走的路。可能是错的。