Tvorba aplikací

Tvorba webových aplikací se Shiny v R

Kaelen Medeiros

Data Scientist

Délka života vs. HDP na obyvatele

Aplikace zobrazující interaktivní bodový graf délky života vs. HDP na obyvatele pro vybraný kontinent a rok

Tvorba webových aplikací se Shiny v R

Délka života vs. HDP na obyvatele

Aplikace zobrazující interaktivní tabulku délky života, populace a HDP na obyvatele pro vybraný kontinent a rok

Tvorba webových aplikací se Shiny v R

Tvorba Shiny aplikací: 4 kroky

  1. Přidání vstupů (UI)
  2. Přidání výstupů (UI/Server)
  3. Úprava rozvržení (UI)
  4. Úprava výstupů (Server)
Tvorba webových aplikací se Shiny v R

Krok 1: Přidání vstupů (UI)

ui <- fluidPage(
  titlePanel("Life Expectation vs. GDP Per Capita"),

selectInput('continent', 'Select Continent', unique(gapminder$continent)),
sliderInput('year', 'Select Year', 1952, 2007, 1990, step = 5) )
server <- function(input, output, session){ } shinyApp(ui = ui, server = server)
Tvorba webových aplikací se Shiny v R

Aplikace zobrazující ovládací prvky pro výběr kontinentu a roku

Tvorba webových aplikací se Shiny v R

Krok 2: Přidání výstupů (UI)

ui <- fluidPage(
  titlePanel("Life Expectation vs. GDP Per Capita"),
  selectInput('continent', 'Select Continent', unique(gapminder$continent)),
  sliderInput('year', 'Select Year', 1952, 2007, 1990, step = 5),

plotOutput('plot'), DT::DTOutput('table')
)
Tvorba webových aplikací se Shiny v R

Krok 2: Přidání výstupů (Server)

server <- function(input, output, session){

output$plot <- renderPlot({ ggplot() })
output$table <- DT::renderDT({ gapminder })
}
Tvorba webových aplikací se Shiny v R

Aplikace zobrazující prázdný graf a interaktivní tabulku spolu s ovládacími prvky pro výběr kontinentu a roku

Tvorba webových aplikací se Shiny v R

Krok 3: Úprava rozvržení (UI)

ui <- fluidPage(
  titlePanel("Life Expectation vs. GDP Per Capita"),

sidebarLayout(
sidebarPanel( selectInput('continent', 'Select Continent', unique(gapminder$continent)), sliderInput('year', 'Select Year', 1952, 2007, 1990, step = 5) ),
mainPanel( plotOutput('plot'), DT::DTOutput('table') )
) )
Tvorba webových aplikací se Shiny v R

Krok 3: Úprava rozvržení (UI)

ui <- fluidPage(
  titlePanel("Life Expectation vs. GDP Per Capita"),

sidebarLayout(
sidebarPanel( selectInput('continent', 'Select Continent', unique(gapminder$continent)), sliderInput('year', 'Select Year', 1952, 2007, 1990, step = 5) ),
mainPanel( tabsetPanel( tabPanel("Plot", plotOutput('plot')), tabPanel("Table", DT::DTOutput('table')) ) )
) )
Tvorba webových aplikací se Shiny v R

Aplikace zobrazující interaktivní tabulku délky života, populace a HDP na obyvatele pro vybraný kontinent a rok

Tvorba webových aplikací se Shiny v R

Krok 4: Úprava výstupů (Server)

server <- function(input, output, session){
  output$plot <- renderPlot({

data <- gapminder %>% filter(year == input$year) %>% filter(continent == input$continent) print(data) ggplot(data, aes(x = gdpPercap, y = lifeExp)) + geom_point()
}) output$table <- DT::renderDT({
gapminder %>% filter(year == input$year) %>% filter(continent == input$continent) })
}
Tvorba webových aplikací se Shiny v R

Aplikace zobrazující interaktivní bodový graf délky života vs. HDP na obyvatele pro vybraný kontinent a rok na záložce

Tvorba webových aplikací se Shiny v R

Pojďme si procvičit!

Tvorba webových aplikací se Shiny v R

Preparing Video For Download...