A Shiny egy az R-hez kifejlesztett keretrendszer, amellyel egyszerűen keszíthetünk dinamikus weboldalakat. További, és részletes leírás az Shiny R oldalán.
Kezdjünk egy egyszerű példával 🙂
Bővebb részletesebb leírás hamarosan 🙂
Minimum két fájl szükséges a Shiny használatához:
ui.R – user-interface: ez fogja a böngészőben megjeleníteni, amit szeretnénk
server.R – server-interface: ez végzi a szerver oldali számításokat, ami dinamikusan változik és az ui.R megjeleníti az eredményt.
A fentebbi példához tartozó R scriptek.
##### server.R #####
01 02 # shiny és a csomagok betöltése
03 # datasets (ehhez a példához innen veszük az adatokat)
04 library(shiny)05 library(datasets)06 07 # a "shinyServer" definiálása, amihez meg kell adni az in-, és output elemeket
08 # output elemként egy barplot-ot fogunk megadni
09 shinyServer(function(input, output) {10 11 # elkészítjük az ábrát, barplot-ot
12 # majd a renderPlot funkcióval átadjuk az output-nak
13 output$phonePlot <- renderPlot({14 15 # Barplot készítése
16 barplot(WorldPhones[,input$region]*1000,17 main=input$region,
18 ylab="Telefonok száma",19 xlab="Év")20 })21 })22
##### ui.r #####
01 02 library(shiny)03 library(datasets)04 05 # Létrehozzuk az UI-it (User Interface).
06 shinyUI(
07 fluidPage(
08 # itt megadjuk az oldal címét
09 titlePanel("Telefonok megoszlása"),10 # Oldalbár készítése
11 sidebarLayout(
12 # ebben az esetben az odalbárba 1 input elemet adunk meg
13 sidebarPanel(
14 selectInput("region", "Régió:",15 # itt adjuk meg, hogy mik közül lehessen választani
16 choices=colnames(WorldPhones)),17 helpText("Data from AT&T (1961) The World's Telephones.")18 ),
19 20 # elkészítjük a "mainPanel"-re az ábrát
21 mainPanel(
22 plotOutput("phonePlot")23 )
24 )
25 )
26 )
27