Ajuster une courbe lisse : entrée par case à cocher
Contrairement aux champs de texte et aux valeurs numériques, les cases à cocher ne prennent que deux valeurs possibles : TRUE ou FALSE. Lorsque l'utilisatrice ou l'utilisateur coche la case, l'entrée vaut TRUE; si elle est décochée, elle renvoie FALSE.
Notez que le paramètre value de la fonction checkboxInput(), qui définit la valeur initiale, ne peut être réglé qu'à TRUE ou FALSE.
Le code de l'application Shiny du dernier exercice est fourni avec quelques modifications. L'objet de tracé ggplot à l'intérieur de renderPlot() est maintenant assigné à la variable p.
Cette activité fait partie du cours
Études de cas : créer des applications Web avec Shiny en R
Instructions de l’exercice
Votre tâche consiste à ajouter une case à cocher qui, lorsqu'elle est cochée, ajoutera une droite d'ajustement au graphique. Plus précisément :
- Ajoutez à l'interface une case à cocher avec l'ID « fit », l'étiquette « Add line of best fit » et un état initial décoché.
- Ajoutez du code au serveur pour que, lorsque l'entrée est cochée, une droite d'ajustement soit ajoutée au graphique. Le code pour ajouter une droite d'ajustement est fourni (ligne 26).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)