Escolar Documentos
Profissional Documentos
Cultura Documentos
João Flávio
31 de dezembro de 2018
Objetivos do curso:
O curso aborda a construção de dashboards e aplicativos web através da linguagem estatística R utilizando
os pacotes flexdashboard e shiny. Dashboards são painéis que apresentam métricas e indicadores, geralmente
em forma de gráficos, que sejam relevantes para auxiliar na gestão e uso da informação. Um aplicativo web é
um programa de computador que utiliza web browser (navegador web) para executar tarefas.
Ao final do curso o aluno estará apto a desenvolver dashboards e aplicativos web interativos, utilizando R.
Público alvo:
Alunos com conhecimentos básicos em estatística e linguagem estatística R. Desejado que o aluno tenha
cursado Introdução ao R e Introdução de Estatística
Conteúdo Programático:
Introdução
1. Dashboard
2. Flexdashboard
3. Shiny
Shiny é um pacote R que permite a criação de aplicativos (apps) web interativos através do R.
Flexdashboard:
1. Instalação
Instalamos o pacote flexdashboard através da linha de comando no R como segue:
install.packages("flexdashboard")
2. Layout
3. Componentes
4. Dimensionamento
5. Múltiplas páginas
6. Compartilhamento
1
Shiny
1. Instalação
Considerando que tenha o R instalado em seu computador. Caso ainda não possua o pacote shiny instalado,
utilize o segunte comando para instalar o pacote shiny:
install.packages("shiny")
2. Estrutura básica
A estrutura básica de um aplicativo Shiny consiste da definição de dois objetos: ui e server.
Defimos um objeto “ui” (interface do usuário) que será a forma como a aplicação se apresenta visualmente ao
usuário
ui <- fluidPage(
)
No exemplo foi utilizado o layout fluidPage, existem outros tais como: navbarPage, dashboardPage. Porém
neste curso nos restringiremos ao layout fluidPage.
Definimos um objeto “server” que recebera as entradas do usuario realizadas no objeto “ui”, em server
realizamos as execuções necessárias para obter a saída desejada e a retornamos para o objeto “ui” para que
seja apresentado ao usuário
server <- function(input, output) {
}
Executamos o aplicativo com a aplicação da função shinyApp e os objetos ui e server como parâmetros
shinyApp(ui = ui, server = server)
Exemplo
A seguir, para exemplificar, apresentamos o arquivo R referente a um aplicativo Shiny. Este exemplo plota um
histograma de um conjunto de dados simulados que seguem uma distribuição normal, em que os parâmetros:
tamanho da amostra, média e variância, são interativos com entrada a partir de uma barra deslizante, isto é, os
usuários podem alterar os valores dos parâmetros a barra deslizante e o aplicativo responderá imediatamente
à entrada deles.
# Define UI para aplicação que plota um histograma
ui <- fluidPage(
# Título da aplicação
titlePanel("Distribuição normal"),
# Barra lateral com entrada deslizante (sliderInput) para tamanho, média e variância
sidebarLayout(
sidebarPanel(
sliderInput("n",
2
"Tamanho:",
min = 1,
max = 1000,
value = 100),
sliderInput("media",
"Média:",
min = -10,
max = 10,
value = 0),
sliderInput("variancia",
"Variância:",
min = 0.1,
max = 100,
value = 1)
),
# Executa a aplicação
shinyApp(ui = ui, server = server)
Outros exemplos
O pacote shiny
O pacote Shiny tem onze exemplos internos que demonstram como o Shiny funciona. Cada exemplo é um
aplicativo Shiny autocontido. Para acessá-los basta carregara biblioteca shiny e executar a função runExample
contendo o nome do exemplo:
library(shiny)
runExample ("01_hello") # um histograma
runExample ("02_text") # tabelas e dataframes
runExample ("03_reactivity") # uma expressão reativa
runExample ("04_mpg") # variáveis globais
3
runExample ("05_sliders") # barras deslizantes
runExample ("06_tabsets") # painéis com guias
runExample ("07_widgets") # texto de ajuda e botões de envio
runExample ("08_html") # aplicativo shiny criado a partir de HTML
runExample ("09_upload") # assistente de upload de arquivo
runExample ("10_download") # assistente de download de arquivo
runExample ("11_timer") # um temporizador automatizado
# Application title
titlePanel("Título da aplicação"),
sidebarPanel(
"Painel Lateral"
),
4
Bibliografia:
[1] Beeley, C. (2013), Web Application Development with R Using Shiny, Packt Publishing.
[2] Chang, W., Cheng, J., Allaire, JJ, Xie, Y. & McPherson, J. (2015). shiny: Web Application Framework
for R. R package version 0.11.1. Retrieved Feb. 23, 2015. Available at CRAN.R-project.org/package=shiny.
[3] Borges, B., & Allaire, J. (2017). flexdashboard: R Markdown Format for Flexible Dashboards. R package
version,(5), 1.
[4] https://shiny.rstudio.com/tutorial/
[5] http://material.curso-r.com/shiny/