Construirea aplicațiilor

Crearea aplicațiilor web cu Shiny în R

Kaelen Medeiros

Data Scientist

Explorare: Speranța de viață vs. PIB pe cap de locuitor

O aplicație care afișează un grafic scatter interactiv al speranței de viață față de PIB-ul pe cap de locuitor pentru un continent și an selectat

Crearea aplicațiilor web cu Shiny în R

Explorare: Speranța de viață vs. PIB pe cap de locuitor

O aplicație care afișează un tabel interactiv cu speranța de viață, populația și PIB-ul pe cap de locuitor pentru un continent și an selectat

Crearea aplicațiilor web cu Shiny în R

Construirea aplicațiilor Shiny: 4 pași

  1. Adăugarea intrărilor (UI)
  2. Adăugarea ieșirilor (UI/Server)
  3. Actualizarea aspectului (UI)
  4. Actualizarea ieșirilor (Server)
Crearea aplicațiilor web cu Shiny în R

Pasul 1: Adăugarea intrărilor (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)
Crearea aplicațiilor web cu Shiny în R

O aplicație care afișează controale pentru selectarea unui continent și an

Crearea aplicațiilor web cu Shiny în R

Pasul 2: Adăugarea ieșirilor (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')
)
Crearea aplicațiilor web cu Shiny în R

Pasul 2: Adăugarea ieșirilor (Server)

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

output$plot <- renderPlot({ ggplot() })
output$table <- DT::renderDT({ gapminder })
}
Crearea aplicațiilor web cu Shiny în R

O aplicație care afișează un grafic gol și un tabel interactiv, împreună cu controale pentru selectarea unui continent și an

Crearea aplicațiilor web cu Shiny în R

Pasul 3: Actualizarea aspectului (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') )
) )
Crearea aplicațiilor web cu Shiny în R

Pasul 3: Actualizarea aspectului (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')) ) )
) )
Crearea aplicațiilor web cu Shiny în R

O aplicație care afișează un tabel interactiv cu speranța de viață, populația și PIB-ul pe cap de locuitor pentru un continent și an selectat

Crearea aplicațiilor web cu Shiny în R

Pasul 4: Actualizarea ieșirilor (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) })
}
Crearea aplicațiilor web cu Shiny în R

O aplicație care afișează un grafic scatter interactiv al speranței de viață față de PIB-ul pe cap de locuitor pentru un continent și an selectat, într-un tab

Crearea aplicațiilor web cu Shiny în R

Să exersăm!

Crearea aplicațiilor web cu Shiny în R

Preparing Video For Download...