16 Ağustos 2016 Salı

R shiny Ders 1

Merhabalar bu derste R'ın raporlama paketi olan Shiny paketini göreceğiz.Shiny interaktif bir web uygulaması yapmayı sağlayan R paketidir.  Shiny  paketi kullanmak için öncelikler paketi yüklememiz gerekmektedir. Bu paket incelemek için kullanılan ortam Rstudio IDE'dir.  RStudio IDE'yi RStudio'nın sitesinden indirebilirsiniz.

install.packages("shiny")

install.packages("shinydashboard")

Temel bir dashboard 3 kısımdan oluşmaktadır. Bunlar header, sidebar ve body'dir.
Şimdi shiny, shindashboard paketi ile ilk örneğimiz yapalım. Yeni bir script oluşturalım ve ismine app diyelim. Bu app script'inin içine aşağıdaki kodu yazalım
## app.R ##
library(shiny)
library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody()
)

server <- function(input, output) { }

shinyApp(ui, server)

Yukardaki kodların sırasıyla üstünden geçelim

library(shiny)
library(shinydashboard)
Yukardaki paketler dashboard için kullanacağımız fonksiyonları içermektedir.dolayısıyla fonksiyonları kullanmadan önce gerekli kütüphanlerimizi tanımlamamız gerekmektedir.


ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody()
)
Yukardaki kodlarla ise kullanıcı tarafında görünecek arayüz tasarlanmaktadır. Bu arayüzün nasıl bir görselliğe sahip olacağı bu kısımda belirlenir


server <- function(input, output) { }
Server tarafında çalışacak fonksiyonlar yazılır.


shinyApp(ui, server)
Son olarak oluşturulan arayüz ve serverın localhost'a çalıştırılması yukardaki kodla gerçekleşmektedir.

Yukarda oluşturulan tüm scriptin çalıştırılması sonucu aşağıdaki ekran karşımıza gelmektedir.


## app.R ##
library(shiny)
library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody()
)

server <- function(input, output) { }

shinyApp(ui, server)


Yukardaki kodları tek bir r scriptine yazmak zorunda değilsiniz . aşağıdaki şekilde yapabilirsiniz

Folder
        ui.r             :User interface'in oluşuturulduğu script dosyası)
        Server.r       :Server taradında çalışacak fonksiyonların yazıldığı script dosyası)
        Global.R     :Hem ui.r hemde server.r  de kullanılacak değişkenlerin tanımlandığı script dosyası
        www           :image,css ve javasccriptlerin bulunduğu klasör




Şimdi örneğimizi yukardaki yapıya getirelim

## ui.R ##
library(shiny)
library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody()
)

## server.R ##
library(shiny)
library(shinydashboard)

server <- function(input, output) { }

Şimdi örneğimize bir textinput ekleyelim


## ui.R ##
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
  dashboardHeader(title='DENEME'),
  dashboardSidebar(textInput("textid","Ad")),
  dashboardBody(textOutput("text"))
)

## server.R ##
library(shiny)
library(shinydashboard)
server <- function(input, output) {
  output$text <- renderText(input$textid)

}


Yukardaki kodla aşağıda görüldüğü üzere text'e ne yazarsam dinamik olarak yan tarafta ta yazar.



Şükrü ERGÜNTOP

Author & Editor

Bilecik Şeyh Edebali Üniversitesi Bilgisayar Mühendisi mezunuyum 2015 yılından beri Sigorta Bilgi ve Gözetim Merkezinde İş Zekası alanında çalışmaktayım

2 yorum:

  1. Vakit bulamadığımdan 2. dersi yayınlayamadım ama 2. dersi kısa zamanda yayınlayacağım.

    YanıtlaSil