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 #####
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# shiny és a csomagok betöltése # datasets (ehhez a példához innen veszük az adatokat) library(shiny) library(datasets) # a "shinyServer" definiálása, amihez meg kell adni az in-, és output elemeket # output elemként egy barplot-ot fogunk megadni shinyServer(function(input, output) { # elkészítjük az ábrát, barplot-ot # majd a renderPlot funkcióval átadjuk az output-nak output$phonePlot <- renderPlot({ # Barplot készítése barplot(WorldPhones[,input$region]*1000, main=input$region, ylab="Telefonok száma", xlab="Év") }) }) |
##### ui.r #####
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
library(shiny) library(datasets) # Létrehozzuk az UI-it (User Interface). shinyUI( fluidPage( # itt megadjuk az oldal címét titlePanel("Telefonok megoszlása"), # Oldalbár készítése sidebarLayout( # ebben az esetben az odalbárba 1 input elemet adunk meg sidebarPanel( selectInput("region", "Régió:", # itt adjuk meg, hogy mik közül lehessen választani choices=colnames(WorldPhones)), helpText("Data from AT&T (1961) The World's Telephones.") ), # elkészítjük a "mainPanel"-re az ábrát mainPanel( plotOutput("phonePlot") ) ) ) ) |
Via bior.hu