Shiny Paketi - III


İlk dersimizde shiny paketinin nasıl çalıştırılacağını, ikinci derste ise shiny paketi içerisinde kullanılacak kontrollerin form içerisine nasıl ekleneceğini göstermiştik. Bu dersimizde ise kontrolleri nasıl kullanacağımızı göreceğiz. Daha önceden belirttiğim gibi “ui.R” tasarım kısmı ile ilgili iken kontrolleri dinamik hale getirmek için “server.R” içerisinde çalışacağız. Daha açık bir şekilde ifade edersek shiny paketini dinamik kullanmak iki adımdan oluşmaktadır. Birinci adımda tasarımı yapıyoruz (ui.R) ikinci adımda kontrolleri dinamik hale getiriyoruz (server.R).

Öncelikle bir form arayüzü oluşturalım.

shinyUI(fluidPage(

  titlePanel("Ornek Form"),

  sidebarLayout(

    sidebarPanel(

      helpText("Burada yardim texti olusturuluyor."),

      selectInput("x",

                  label = "Gosterilecek degisken adini seciniz",

                  choices = c("Turizm Sektoru", "Hizmet Sektoru",

                              "Endustri Sektoru", "Tarim Sektoru"),

                  selected = "Turizm Sektoru"),

      sliderInput("range",

                  label = "Aralik Belirle",

                  min = 0, max = 100, value = c(0, 100))

      ),

    mainPanel(

      textOutput("text1")

    )

  )

))

Yukarıdaki komutları inceleyelim biraz. Sayfa içerisinde bir panel oluşturulmuş ve içerisine açılır menü ile bir slider yerleştirilmiş. Burada dikkat edilmesi gereken nokta geri döndürülecek değerin “mainPanel” içerisinde tanımlanıyor olmasıdır. Gösterilecek olan yada dinamik olacak alan mainPanelde yerleştiriliyor ve komut olarak “textOutput” kullanılıyor. Bu kodları “ui.R” içerisine kaydedelim ve sonrasında “server.R” kodlamasına geçelim.

shinyServer(

  function(input, output) {

    output$text1 <- renderText({

      paste( input$x, "Degerini Sectiniz...")

    })

  }

)

Bu kısmıda “server.R” kısmına kaydedebiliriz. Burada önemli olan kısım şudur. Output kısmına gelecek değişken adı yukarıda tasarım kısmında tanımladığımız isimle aynı olmak durumundadır. Tasarım kısmında      textOutput("text1") kullandık öyleyse server kısmında    output$text1 olması gereklidir. Yani “text1” bir id’dir. Bu konuyu biraz daha irdeleyelim. Output olarak verebileceğiz sadece text değildir. Birden fazla output nesnesi mevcuttur. Bunlar

htmlOutput                       raw HTML

imageOutput                    Resim

plotOutput                         Grafik

tableOutput                      Tablo

textOutput                        Metin

uiOutput                             raw HTML

verbatimTextOutput         text

Bu çıkış nesnelerini bir Layout içerisinde “mainPanel” kısmına eklemek gereklidir. Örnekler çoğaltılabilir ve geliştirilebilir. Önümüzdeki derste shiny paketi içerisinde veri kullanımına geçeceğiz.

Soru ve önerilerinizi Facebook sayfamdan bildirebilirsiniz…Sayfamızı beğenmeyi unutmayınız.

Yazar Kimdir?

Sıtkı Cansu, 19 Ekim 1985 yilinda Konya-Beyşehir'de dogmustur.İlk, orta ve liseyi Beyşehir'de bitirmis olup Konya-Ereğli Selçuk MYO Bilgisayar programcılığı ve Mugla Sıtkı Koçman Üniversitesi İstatistik bölümünden mezun olmustur. Çesitli yerlerde web tasarımcı ve veri tabani yöneticisi olarak çalışan yazar, son üç senedir ingilizce öğretmenliği yapmaktadir. Şu anda yüksek lisansını tamamlamak üzere Mugla Üniversitesinde öğrenim görmektedir.