Cambia el tamaño de los puntos: entrada numérica
Las entradas numéricas tienen algunos argumentos adicionales que las de texto no tienen, como min y max, que definen los valores mínimo y máximo que se pueden elegir.
Ten en cuenta que, cuando accedes al valor de una entrada en el código del servidor, Shiny es lo suficientemente inteligente como para saber qué tipo de entrada se utilizó y, por tanto, qué tipo de objeto debe devolver. Esto significa que, si tienes una entrada numérica con ID "foo", entonces input$foo devolverá un valor numérico.
Este ejercicio forma parte del curso
Casos prácticos: crea aplicaciones web con Shiny en R
Instrucciones del ejercicio
Se proporciona el código de la app Shiny del ejercicio anterior. Tu tarea es añadir una entrada numérica para que el usuario pueda cambiar el tamaño de los puntos del gráfico. En concreto:
- Añade una entrada numérica a la UI con ID "size", la etiqueta "Point size", un valor por defecto de 1 y un valor mínimo de 1.
- Añade código en el servidor para que la entrada numérica determine el tamaño de los puntos en el gráfico (línea 20).
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Define UI for the application
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
textInput("title", "Title", "GDP vs life exp"),
# Add a size numeric input
___
),
mainPanel(
plotOutput("plot")
)
)
)
# Define the server logic
server <- function(input, output) {
output$plot <- renderPlot({
ggplot(gapminder, aes(gdpPercap, lifeExp)) +
# Use the size input as the plot point size
geom_point(size = ___) +
scale_x_log10() +
ggtitle(input$title)
})
}
# Run the application
shinyApp(ui = ui, server = server)