pratica/10-dados.R

library(shiny)
library(dplyr)

ui <- fluidPage(
  uiOutput("slider_periodo"),
  tableOutput(outputId = "tabela")
)

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

  imdb <- readr::read_rds("../dados/imdb.rds")

  output$slider_periodo <- renderUI({
    sliderInput(
      inputId = "periodo",
      label = "Selecione o perĂ­odo",
      min = min(imdb$ano, na.rm = TRUE),
      max = max(imdb$ano, na.rm = TRUE),
      value = c(2000, 2010),
      step = 1,
      sep = ""
    )
  })

  output$tabela <- renderTable({
    imdb %>%
      filter(ano %in% input$periodo[1]:input$periodo[2]) %>%
      mutate(lucro = receita - orcamento) %>%
      select(
        titulo,
        ano,
        `diretor(a)` = diretor,
        receita,
        orcamento,
        lucro
      ) %>%
      slice_max(order_by = lucro, n = 20) %>%
      arrange(desc(lucro)) %>%
      mutate(
        across(
          c(orcamento, receita, lucro),
          scales::dollar
        )
      )
  })

}

shinyApp(ui, server)
curso-r/202202-dashboards documentation built on April 3, 2022, 4:50 p.m.