Bygga appar

Bygg webbapplikationer med Shiny i R

Kaelen Medeiros

Data Scientist

Utforska förväntad livslängd kontra BNP per capita

En app som visar ett interaktivt spridningsdiagram över förväntad livslängd kontra BNP per capita för en vald kontinent och ett valt år

Bygg webbapplikationer med Shiny i R

Utforska förväntad livslängd kontra BNP per capita

En app som visar en interaktiv tabell över förväntad livslängd, befolkning och BNP per capita för en vald kontinent och ett valt år

Bygg webbapplikationer med Shiny i R

Bygga Shiny-appar: 4 steg

  1. Lägg till indata (UI)
  2. Lägg till utdata (UI/Server)
  3. Uppdatera layout (UI)
  4. Uppdatera utdata (Server)
Bygg webbapplikationer med Shiny i R

Steg 1: Lägg till indata (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)
Bygg webbapplikationer med Shiny i R

En app som visar kontroller för att välja kontinent och år

Bygg webbapplikationer med Shiny i R

Steg 2: Lägg till utdata (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')
)
Bygg webbapplikationer med Shiny i R

Steg 2: Lägg till utdata (Server)

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

output$plot <- renderPlot({ ggplot() })
output$table <- DT::renderDT({ gapminder })
}
Bygg webbapplikationer med Shiny i R

En app som visar ett tomt diagram och en interaktiv tabell tillsammans med kontroller för att välja kontinent och år

Bygg webbapplikationer med Shiny i R

Steg 3: Uppdatera layout (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') )
) )
Bygg webbapplikationer med Shiny i R

Steg 3: Uppdatera layout (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')) ) )
) )
Bygg webbapplikationer med Shiny i R

En app som visar en interaktiv tabell över förväntad livslängd, befolkning och BNP per capita för en vald kontinent och ett valt år

Bygg webbapplikationer med Shiny i R

Steg 4: Uppdatera utdata (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) })
}
Bygg webbapplikationer med Shiny i R

En app som visar ett interaktivt spridningsdiagram över förväntad livslängd kontra BNP per capita för en vald kontinent och ett valt år, i en flik

Bygg webbapplikationer med Shiny i R

Nu kör vi en övning!

Bygg webbapplikationer med Shiny i R

Preparing Video For Download...