ÎncepețiÎncepe gratuit

Modifică dimensiunea punctelor: input numeric

Inputurile numerice au câteva argumente în plus față de inputurile de tip text, cum ar fi min și max, care definesc valorile minimă și maximă ce pot fi selectate.

Reține că atunci când valoarea unui input este accesată în codul serverului, Shiny știe automat ce tip de input a fost folosit și, implicit, ce tip de obiect trebuie să returneze. Astfel, dacă ai un input numeric cu ID-ul "foo", atunci input$foo va returna o valoare numerică.

Acest exercițiu face parte din cursul

Studii de caz: Construirea aplicațiilor web cu Shiny în R

Vezi cursul

Instrucțiuni pentru exercițiu

Codul aplicației Shiny din exercițiul anterior îți este pus la dispoziție. Sarcina ta este să adaugi un input numeric pe care utilizatorul să îl poată folosi pentru a modifica dimensiunea punctelor din grafic. Mai exact:

  • Adaugă un input numeric în UI cu ID-ul "size", eticheta "Point size", o valoare implicită de 1 și o valoare minimă de 1.
  • Adaugă cod în server astfel încât inputul numeric să determine dimensiunea punctelor în grafic (linia 20).

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)
Editează și rulează codul