Menyesuaikan kurva halus: masukan kotak centang
Berbeda dengan masukan teks dan numerik, masukan kotak centang terbatas pada dua nilai saja: TRUE atau FALSE. Ketika pengguna mencentang masukan kotak centang, nilainya menjadi TRUE, dan jika tidak dicentang maka nilainya FALSE.
Perhatikan bahwa parameter value dari fungsi checkboxInput(), yang menentukan nilai awal, hanya dapat diatur ke TRUE atau FALSE.
Kode untuk aplikasi Shiny dari latihan sebelumnya disediakan dengan beberapa modifikasi. Objek plot ggplot di dalam renderPlot() kini ditetapkan ke variabel p.
Latihan ini adalah bagian dari kursus
Studi Kasus: Membangun Aplikasi Web dengan Shiny di R
Petunjuk latihan
Tugas Anda adalah menambahkan masukan kotak centang yang, ketika dicentang, akan menambahkan garis kecocokan terbaik pada plot. Secara khusus:
- Tambahkan masukan kotak centang pada UI dengan ID "fit", label "Add line of best fit", dan keadaan awal tidak dicentang.
- Tambahkan kode pada server sehingga ketika masukan dicentang, sebuah garis kecocokan terbaik ditambahkan ke plot. Kode untuk menambahkan garis kecocokan terbaik sudah disediakan (baris 26).
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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)