НачатьНачать бесплатно

Кривая сглаживания: флажок

В отличие от текстовых и числовых полей ввода, флажок может принимать только два значения: TRUE или FALSE. Когда пользователь устанавливает флажок, значение входного параметра становится TRUE, а если флажок снят — возвращается FALSE.

Обратите внимание, что параметр value функции checkboxInput(), задающий начальное состояние, может быть только TRUE или FALSE.

Код приложения Shiny из предыдущего упражнения предоставлен с небольшими изменениями. Объект графика ggplot внутри renderPlot() теперь присвоен переменной p.

Это упражнение является частью курса

Примеры использования: создание веб-приложений с Shiny в R

Посмотреть курс

Инструкции к упражнению

Ваша задача — добавить флажок, при установке которого на график будет добавляться линия тренда. А именно:

  • Добавьте флажок в UI с идентификатором "fit", подписью "Add line of best fit" и начальным состоянием «снят».
  • Добавьте в серверную часть код, который при установке флажка добавляет линию тренда на график. Код для добавления линии тренда уже предоставлен (строка 26).

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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)
Редактировать и запускать код