Bazı yardımcı fonksiyonlar oluşturma
Bir shinydashboard'a eklenebilecek birçok öğe vardır. Kullanıcı girişleriyle pano çıktıları arasında etkileşim sağlamak için, bu etkileşimleri sunucuda yer alan render fonksiyonları içinde tanımlaman gerekir.
Eğer çok sayıda etkileşim ve çıktı varsa, kod çok hızlı bir şekilde hantallaşabilir. Bu sorunu aşmanın bir yolu, shinydashboard ortamının dışında kendi yardımcı fonksiyonlarını oluşturmaktır.
Aşağıda iki yardımcı fonksiyon yazacaksın:
num_listings():pricearalığı içindeki filtrelenmiş verilere göre ilan sayısını döndürür.make_plots(): Kullanıcı seçimine göre kutu grafikleri (boxplot) veya keman grafikleri (violin plot) oluşturur ve bunupricearalığı içindeki filtrelenmiş verilere göre yapar.
listings yüklendi ve sf, tidyverse ile leaflet içe aktarıldı.
Bu egzersiz, kursun bir parçasıdır
shinydashboard ile Panolar Oluşturma
Egzersiz talimatları
listingsverisini, shinyApp girdisi için yer tutucu olanrangeargümanının sol ve sağ sınırları arasında kalacak şekilde filtrele.- Doğru if-else koşullarını ayarla:
choicedeğeri"Box plots"ile eşleştiğinde kutu grafikleri,"Violin plots"olduğunda ise keman grafikleri çizilsin.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
num_listings <- function(range){
# Filter listings appropriately
filter(listings, price >= ___, price <= ___) %>% nrow()
}
make_plots <- function(range, choice){
filtered_listings <- filter(listings, price >= range[1], price <= range[2])
# Set the correct if-else conditions
if (choice == ___){
filtered_listings %>%
ggplot(aes(y = price, x = room_type)) + geom_boxplot() + theme_classic()
}
else if (___){
filtered_listings %>%
ggplot(aes(y = price, x = room_type)) + geom_violin() + theme_classic()
}}