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, kursun bir parçasıdır
R ile Shiny Kullanarak Web Uygulamaları Geliştirme
Egzersiz 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ı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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)