Etkileşimli bir tablo çıktısı ekle
DT, leaflet, plotly gibi birden fazla htmlwidgets paketi, son derece etkileşimli çıktılar sağlar ve neredeyse aynı kalıpla Shiny uygulamalarına kolayca entegre edilebilir. Örneğin, bir Shiny uygulamasındaki statik bir tabloyu DT paketiyle etkileşimli bir tabloya dönüştürebilirsin:
DT::datatable()kullanarak etkileşimli bir tablo oluştur.DT::renderDT()ile bunu oluştur (render) et.DT::DTOutput()ile arayüzde göster.
Bu egzersizde, daha önce oluşturduğun uygulamayı güncelleyerek statik tabloyu etkileşimli bir tabloyla değiştireceksin.
Bu egzersiz
R ile Shiny Kullanarak Web Uygulamaları Geliştirme
kursunun bir parçasıdırEgzersiz talimatları
DTkullanarak cinsiyete ve yıla göre en popüler 10 ismi içeren etkileşimli bir tablo çıktısı oluştur. Görüntülenecek bir veri çerçevesi üretmek içintop_10_names()fonksiyonunu kullanabilir ve bunuDT::datatable()'a geçebilirsin.- Tabloyu arayüzde (UI) göster.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
ui <- fluidPage(
titlePanel("What's in a Name?"),
# Add select input named "sex" to choose between "M" and "F"
selectInput('sex', 'Select Sex', choices = c("M", "F")),
# Add slider input named "year" to select year between 1900 and 2010
sliderInput('year', 'Select Year', min = 1900, max = 2010, value = 1900),
# MODIFY CODE BELOW: Add a DT output named "table_top_10_names"
tableOutput('table_top_10_names')
)
server <- function(input, output, session){
top_10_names <- function(){
babynames %>%
filter(sex == input$sex) %>%
filter(year == input$year) %>%
slice_max(prop, n = 10)
}
# MODIFY CODE BELOW: Render a DT output named "table_top_10_names"
output$table_top_10_names <- renderTable({
top_10_names()
})
}
shinyApp(ui = ui, server = server)