我尝试创建一个应用程序,其最终目标是选择满足用户使用Shiny元素选择的某些条件的矩阵行(checkboxGroupInput, sliderInput, etc
)
出于示例目的,我们将数据视为global.R
文件的一部分:
data <- t(combn(20, 5)) # 20 has been chosen for simplicity. In reality is a variable selected from c(20, 30, 45).
在ui.R
和server.R
中,我创建了一组checkboxGroupInput
来反映用户可以从中选择某些数字的范围c(1:20)
。
....
uiOutput(outputId = "numSelector")
....
.......
output$numSelector <- renderUI({
out <- checkboxGroupInput(
inputId = "numSelector",
label = "Select the numbers",
choices = selectRange(input$dataName),
inline = TRUE
)
return(out)
})
........
出于调试目的,我想通过checkboxGroupInput
(或其他任何Shiny元素)打印出选定的值,并根据这些值过滤data
行。
有什么建议吗?
答案 0 :(得分:4)
使用上面的代码,您可以使用input$numSelector
调用所选值的向量。这些可以传递到数据帧进行过滤,或传递给任何其他Shiny输出对象。
打印值:
print(input$numSelector)
过滤
data[data$dataName %in% input$numSelector,]
要使此打印代码运行,需要将其放在observe()函数中。