Shiny Appにフィルタを入れる方法はありますか?Shinyは、すべてのデータを表示するように選択されていないと知っていますか?R - Shiny Filter for 'All'の値
次のようになりますアプリ生成library(ggplot2)
library(shiny)
library(dplyr)
diamonds <- diamonds
#Unique cut dropdown
cut <- sort(unique(diamonds$cut))
#Unique color
color <- sort(unique(diamonds$color))
#Unique clarity
clarity <- sort(unique(diamonds$clarity))
#Shiny App
ui <- fluidPage(
titlePanel("diamonds"),
fluidRow(
column(3,
selectizeInput("CutSelect", "Cut", cut, selected = NULL, multiple = TRUE),
br(),
selectInput("ColorSelect", "Color", color),
br(),
selectInput("ClaritySelect", "Clarity", clarity)
),
tableOutput("results")
)
)
server <- function(input, output) {
output$results <- renderTable({
filtered <-
diamonds %>%
filter(cut == input$CutSelect,
color == input$ColorSelect,
clarity == input$ClaritySelect)
filtered
})
}
shinyApp(ui = ui, server = server)
:たとえば、ggplot2
diamonds
データを使用して、私は次のように構築したデータを掃除しないと
を、方法があります「All」演算子をフィルタに追加すると、そのディメンションのフィルタがあるにもかかわらず、「All」が便利なインスタンスがあることがアプリに分かります。
カットの場合は、具体的には、selectizeInput
を空白のままにしておくと、「すべて」または「フィルタなし」のタイプの取引として動作させることができます。
さらに役立つ情報を提供していただき、幸いです。
ありがとうございました。
これは素晴らしいスタートです.Kristoffer!さらに一歩進めていくために、もう少し停滞した入力が増え、計算の選択が必要な場合はどうすればよいでしょうか?たとえば、入力を必要とする 'carat'の数値入力を追加し、' carat> =# 'のみを返すと、' numericInput'はすでに持っているものとどのように動作するのでしょうか? – gav
Shiny [sliderInput](https://shiny.rstudio.com/reference/shiny/latest/sliderInput.html)を使用して、その入力から最大値と最小値をフィルタリングすることができます。 –
上記のコードには、どのようなコードが追加されていますか?今、別の入力を追加したい場合に問題に遭遇しています。 IF文の後にコードが終了するため、これらのフィルタが認識されないことに注意してください。 – gav