Xây dựng ứng dụng

Xây dựng ứng dụng web với Shiny trong R

Kaelen Medeiros

Data Scientist

Khám phá Tuổi thọ vs. GDP bình quân đầu người

Ứng dụng hiển thị biểu đồ phân tán tương tác giữa tuổi thọ và GDP bình quân đầu người theo châu lục và năm đã chọn

Xây dựng ứng dụng web với Shiny trong R

Khám phá Tuổi thọ vs. GDP bình quân đầu người

Ứng dụng hiển thị bảng tương tác về tuổi thọ, dân số và GDP bình quân đầu người theo châu lục và năm đã chọn

Xây dựng ứng dụng web với Shiny trong R

Xây ứng dụng Shiny: 4 bước

  1. Thêm đầu vào (UI)
  2. Thêm đầu ra (UI/Server)
  3. Cập nhật bố cục (UI)
  4. Cập nhật đầu ra (Server)
Xây dựng ứng dụng web với Shiny trong R

Bước 1: Thêm đầu vào (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)
Xây dựng ứng dụng web với Shiny trong R

Ứng dụng hiển thị điều khiển chọn châu lục và năm

Xây dựng ứng dụng web với Shiny trong R

Bước 2: Thêm đầu ra (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')
)
Xây dựng ứng dụng web với Shiny trong R

Bước 2: Thêm đầu ra (Server)

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

output$plot <- renderPlot({ ggplot() })
output$table <- DT::renderDT({ gapminder })
}
Xây dựng ứng dụng web với Shiny trong R

Ứng dụng hiển thị biểu đồ trống và bảng tương tác cùng điều khiển chọn châu lục và năm

Xây dựng ứng dụng web với Shiny trong R

Bước 3: Cập nhật bố cục (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') )
) )
Xây dựng ứng dụng web với Shiny trong R

Bước 3: Cập nhật bố cục (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')) ) )
) )
Xây dựng ứng dụng web với Shiny trong R

Ứng dụng hiển thị bảng tương tác về tuổi thọ, dân số và GDP bình quân đầu người theo châu lục và năm đã chọn

Xây dựng ứng dụng web với Shiny trong R

Bước 4: Cập nhật đầu ra (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) })
}
Xây dựng ứng dụng web với Shiny trong R

Ứng dụng hiển thị biểu đồ phân tán tương tác giữa tuổi thọ và GDP bình quân đầu người theo châu lục và năm đã chọn, trong một tab

Xây dựng ứng dụng web với Shiny trong R

Let's practice!

Xây dựng ứng dụng web với Shiny trong R

Preparing Video For Download...