change - plot r legends
Problemas con la entrada del control deslizante en R Brillante: obtención de NaN (1)
Creo que el problema podría estar en tu parámetro sep
. Se supone que es un step
? Si es así, debe ser un número o NULL
. Cambié esa línea a lo siguiente:
sliderInput("year", "Year", min=2005, max=2040, value=2005, animate=animationOptions(interval=1500), step=1),
Funcionó bien Al menos, pude arrastrar tan lejos a la izquierda como quería sin ningún problema. Por otro lado, no tengo su archivo server.R
, así que si el problema está allí, o con una interacción entre los archivos, no lo vería.
Actualizar:
El problema es con tu versión de Shiny. Descubrí esto porque el parámetro sep
era un "argumento no utilizado" cuando traté de ejecutar la aplicación. Originalmente pensé que era un error tipográfico, pero su certeza (en su comentario reciente) me llevó a consultar la documentación de sliderInput
. Tienes toda la razón, sep
es un parámetro válido. Pensé que esto significaba que mi versión del shiny
paquete estaba desactualizada, así que lo actualicé. Después de actualizarlo, no solo se aceptó el parámetro sep
, sino que pude replicar tu problema. Descubrí que si intentaba arrastrar el control deslizante fuera de la ventana del navegador, su valor cambiaría a NaN. Además, el control deslizante se ve mucho más bonito. Supongo que esto tiene que ver con un cambio en el código de la función sliderInput
. Voy a echar un vistazo a eso y actualizar nuevamente si encuentro el cambio.
Actualización2
Encontré el problema. En la última versión de Shiny, decidieron usar un deslizador de rango escrito en jQuery llamado ion.rangeSlider
. Específicamente, usaron la versión 2.0.2. Desafortunadamente, esa versión tenía un problema con devolver NaN cuando se sacaba el control deslizante izquierdo de la ventana del navegador (¿te suena familiar?). Eso se ha solucionado en la versión más reciente de ion.rangeSlider
(2.0.6). Espero que la próxima versión del shiny
paquete incorpore la versión más reciente de ion.rangeSlider
.
Sé que esto en realidad no resuelve tu problema. Sin embargo, lo siguiente:
- Averiguar dónde están instalados sus paquetes R
- Vaya a la subcarpeta shiny / www / shared / ionrangeslider / css
- Copie el archivo ion.rangeSlider.skinShiny.css en otro lugar
- eliminar los contenidos de shiny / www / shared / ionrangeslider
- Descarga el .zip de ion.rangeSlider aquí
- Copie los contenidos de ion.rangeSlider-master en la carpeta ionrangeslider mencionada en el paso 2
- Mueva ion.rangeSlider.skinShiny.css de nuevo a shiny / www / shared / ionrangeslider / css
Luego simplemente separe y vuelva a cargar el paquete shiny
, y debe estar todo listo.
Estoy tratando de hacer una entrada de control deslizante que tenga años entre 2005 y 2040. Parece bastante simple, ¿verdad? Normalmente funciona bien, pero de vez en cuando voy a tirar del control deslizante demasiado a la izquierda y me da NaN, que tiende a bloquear las cosas. Intenté configurar el resto de mi código para que no tenga problemas, pero todavía me molesta. He buscado en Internet explicaciones, pero hasta ahora nada. Aquí está mi ui.R:
library(shiny)
shinyUI(fluidPage(
titlePanel("Test"),
sidebarLayout(
sidebarPanel(
selectInput("over", "Indicator", c("Indicator 1", "Indicator 2"), selected="Trade"),
selectInput("type", "Type", c("Discrete", "Continuous")),
# Nothing particularly unusual here...
sliderInput("year", "Year", min=2005, max=2040, value=2005, animate=animationOptions(interval=1500), sep=""),
checkboxInput("table", "Show Table")
, width=3),
mainPanel(
uiOutput("plot"),
uiOutput("showtable")
, width=9)
)
))