I have one problem with my Shiny app. Firstly, I have two dataframes in which there are two numeric columns ( number and number2). I also have dynamic ui sliderInput. Shiny app works fine till... when I choose Item dataframe, choose number in Y-axis variable and set range in sliderInput between e.g. 15 and 18, and after that I want to change Y-axis variable to number2 I get an error: 
 Error in eval(substitute(expr), envir, enclos) : wrong result size (2), expected 0 or 1
 I know that the problem is caused because number in number2 column is between 1 and 10 and previous settings does not included that numbers. Could anyone tell me how to improve it?
ui.R
library(ggvis)
shinyUI(fluidPage(
titlePanel(""),
sidebarLayout(
 sidebarPanel(
  radioButtons("dataset", label = h4("Choose dataframe"),
               choices = list("Item" = "df1", "Task" = "df2")),
   selectInput("yvar", "Y-axis variable", axis_vars_y, selected = "number"),
   uiOutput("slider")
   ),
mainPanel(
  ggvisOutput("plot")
  )
 )
))
server.R
library(shiny)
library(dplyr)
library(magrittr)
library(lazyeval)
df1_number <-sample(seq(1,20,0.01),20,replace = T)
df2_number <-sample(seq(1,20,0.01),20,replace = T)
df1_number2 <-sample(seq(1,10,0.01),20,replace = T)
df2_number2 <-sample(seq(1,10,0.01),20,replace = T)
df1 <- data.frame(name = rep(letters[1:4],each = 5), number = df1_number, number2 = df1_number2)
df2 <- data.frame(name = rep(letters[1:4],each = 5), number = df2_number, number2 = df2_number2)
axis_vars_y <- c("number" = "number", "number2" = "number2")
shinyServer(function(input, output) {
  datasetInput <- reactive({
    switch(input$dataset,
           df1 = df1,
           df2 = df2)
  })
  axis_vara_y <- reactive({
    switch(input$yvar,
           number = 2,
           number2 = 3)
  }) 
    output$slider <- renderUI({
      sliderInput("inslider","Slider", min   = min(datasetInput()[,axis_vara_y()]), 
                                       max   = max(datasetInput()[,axis_vara_y()]),
                                       value = c(min(datasetInput()[,axis_vara_y()]), 
                                                 max(datasetInput()[,axis_vara_y()])),
                                       step = 0.5)
})
  data <- reactive({
    filteredData <- datasetInput()
    if(!is.null(input$inslider)){
      filteredData <- filteredData %>%
        filter(filteredData[,axis_vara_y()] >= input$inslider[1],
               filteredData[,axis_vara_y()] <= input$inslider[2])
    }
    filteredData
})
  data_two <- reactive({
    data() %>%
      mutate(id = 1:n())
  })  
  vis <- reactive({
    yvar_name <- names(axis_vars_y)[axis_vars_y == input$yvar]
    yvar <- prop("y", as.symbol(input$yvar))
    data_two %>%
      ggvis(x = ~name, y = yvar) %>%    
      layer_points(size := 120,
                     fill = ~name,
                     fillOpacity := 0.6, 
                     key := ~id)
      })
      vis %>% bind_shiny("plot")
    })
Update---------------------------------------------------------------------------------------------------
The same error occurs when I set a range which does not included any value from number column (e.g. between 13 and 14).