用于筛选数据的checkboxGroupInput
我很难让我的过滤盒真正过滤数据。下面是数据和代码的示例。这些框显示良好,可以单击,但选中该框时不会过滤数据用于筛选数据的checkboxGroupInput,r,shiny,R,Shiny,我很难让我的过滤盒真正过滤数据。下面是数据和代码的示例。这些框显示良好,可以单击,但选中该框时不会过滤数据 Name Grade Test1 Test2 Sam 1st 88 92 Carla 2nd 82 88 Matt 1st 90 76 Kelsey 3rd 92 96 gradelist <- ("1st", "2nd", "3rd") 服务器部分: output$gradetable <- D
Name Grade Test1 Test2
Sam 1st 88 92
Carla 2nd 82 88
Matt 1st 90 76
Kelsey 3rd 92 96
gradelist <- ("1st", "2nd", "3rd")
服务器部分:
output$gradetable <- DT::renderDataTable({
DT::datatable(testscores[input$grade,])
})
输出$gradetable库(闪亮)
图书馆(dplyr)
图书馆(DT)
ui DT::datatable(testscores[testscores$Grade==输入$Grade,]))
output$gradetable <- DT::renderDataTable({
DT::datatable(testscores[input$grade,])
})
library(shiny)
library(dplyr)
library(DT)
ui <- fluidPage(
fluidRow(
checkboxGroupInput("grade", "Filter by Grade", c("1st", "2nd", "3rd"), selected = "1st")
),
fluidRow(
column(12,
dataTableOutput('gradetable')
)
)
)
server <- function(input, output) {
testscores <- structure(list(Name = structure(c(4L, 1L, 3L, 2L), .Label = c("Carla",
"Kelsey", "Matt", "Sam"), class = "factor"), Grade = structure(c(1L,
2L, 1L, 3L), .Label = c("1st", "2nd", "3rd"), class = "factor"),
Test1 = c(88L, 82L, 90L, 92L), Test2 = c(92L, 88L, 76L, 96L
)), .Names = c("Name", "Grade", "Test1", "Test2"), class = "data.frame", row.names = c(NA,
-4L))
# product definition
output$gradetable <- renderDataTable({
testscores %>% filter(Grade == input$grade) %>% datatable
})
}
# Run the application
shinyApp(ui = ui, server = server)