Adaugă o curbă de tendință: intrare de tip checkbox
Spre deosebire de intrările de tip text și numeric, intrările de tip checkbox sunt limitate la doar două valori posibile: TRUE sau FALSE. Când utilizatorul bifează un checkbox, intrarea primește valoarea TRUE, iar dacă este debifat, returnează FALSE.
Reține că parametrul value al funcției checkboxInput(), care definește valoarea inițială, poate fi setat doar la TRUE sau FALSE.
Codul aplicației Shiny din exercițiul anterior este furnizat cu câteva modificări. Obiectul grafic ggplot din interiorul renderPlot() este acum atribuit variabilei p.
Acest exercițiu face parte din cursul
Studii de caz: Construirea aplicațiilor web cu Shiny în R
Instrucțiuni pentru exercițiu
Sarcina ta este să adaugi o intrare de tip checkbox care, atunci când este bifată, va adăuga o linie de best fit pe grafic. Mai exact:
- Adaugă o intrare de tip checkbox în UI cu ID-ul "fit", eticheta "Add line of best fit" și starea inițială nebifată.
- Adaugă cod în server astfel încât, atunci când intrarea este bifată, o linie de best fit să fie adăugată pe grafic. Codul pentru adăugarea liniei de best fit este furnizat (linia 26).
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"),
numericInput("size", "Point size", 1, 1),
# Add a checkbox for line of best fit
___
),
mainPanel(
plotOutput("plot")
)
)
)
# Define the server logic
server <- function(input, output) {
output$plot <- renderPlot({
p <- ggplot(gapminder, aes(gdpPercap, lifeExp)) +
geom_point(size = input$size) +
scale_x_log10() +
ggtitle(input$title)
# When the "fit" checkbox is checked, add a line
# of best fit
if (___) {
p <- p + geom_smooth(method = "lm")
}
p
})
}
# Run the application
shinyApp(ui = ui, server = server)