Простой пример Блестящего приложения, использующего ggvis. Попытка использовать раскрывающееся меню для фильтрации переменной. Поэтому здесь я пытаюсь отфильтровать механизм mtcars (3, 4 или 5), а затем график x и y mpg и hp для каждого из уникальных значений шестерни.Реактивный вход не работает с ggvis и Shiny
Я получаю начальный график, выбранный по умолчанию «3», но если я изменил значение с помощью раскрывающегося списка, ничего не произойдет. Я думаю, что знаю, где все идет не так (прокомментировано в коде), но я пробовал все, о чем я могу думать, и понятия не имею, что я делаю.
Благодаря
ui.R
# ui.R
library(shiny)
shinyUI(fluidPage(
titlePanel("Car Thing"),
sidebarLayout(
sidebarPanel(
uiOutput("choose_gear")
),
mainPanel(
ggvisOutput("ggvis")
)
)
))
server.R
#server.R
library(shiny)
library(ggvis)
library(dplyr)
gear_nos <- sort(unique(mtcars$gear))
shinyServer(function(input, output, session) {
output$choose_gear <- renderUI({
selectInput("gears", "Choose Gear", gear_nos, selected="3")
})
# I'm pretty sure this is where I'm messing something up
pickedGear <- reactive({
mtcars %>% filter(gear == input$gears)
})
if(is.null(dim(pickedGear))){
pickedGear <- mtcars[mtcars$gear == 3,]
}
pickedGear %>% ggvis(~mpg, ~hp) %>% layer_points(fill := "green") %>% bind_shiny("ggvis")
})
Разъяснения по ДОЛЖНОСТЬ: это, вероятно, работает отлично. Я просто делаю что-то не так с моим кодом. – noLongerRandom