Dashboards com R Pablo Florentino
& Luis Borges
Julho 2024
Agenda / Ementa
● Apresentações individuais e orientações
● Por quê dashboards ?
● Arquitetura de uma aplicação
cliente-servidor e a Ling. R
● Definições e Tipos de DashBoard
● Planejamento de um dashboard:
Funções, Layout, conexões, reatividade
● Pacotes do R para criação de dashboards
● Aplicação básica Hello World
● Organização e estruturação dos dados
● Componentes Gráficos e publicação dos dados
● Construção de DashBoards. Illustrations by Pixeltrue on icons8
Apresentações
Pablo (Dsc Ufba, Msc Coppe Ufrj, Bsc Computação Ufba)
Área de atuação: Banco de Dados, Sistemas de Informação, Dados
Urbanos, Dados Abertos, Visualização de dados, Ciência de Dados,
Computação aplicada à Saúde.
Luis Borges
Graduado em Análise e Desenvolvimento de Sistemas (IFBA),
Pós-graduado em Ciência de Dados e Saúde Digital (UFPE).
Áreas de interesse: Dados Abertos, Visualização de dados, Ciência de
Dados, IoT, Computação aplicada.
Apresentações
Nome
Formação
Área de atuação
Conhecimento sobre programação, dados e visualização
Expectativa de uso dos Dashboards
Orientações Gerais
Presença: 75% da Carga Horária presencial para obtenção do
certificado
Avaliações: 60% para obtenção do certificado
Carga Horária: Aulas (24h) + Atividades extra-classe (6h) = 30h
AVA: Google ClassRoom
Material e Notificações
A dimensão e o
fenômeno dos Dados
Uma década atrás ou mais, poucos saberiam dizer como ou por quê usar
recursos de dados hoje considerados tão valiosos
Aceleração da acumulação e do processamento
Disponibilidade de Tecnologias de Armazenamento
Poços, lagos e rios de dados inundando o mundo e gerando tsunamis
na sobreposição da vida contemporânea entre o físico e o digital
O tal do BigData! O que fazer com tantos dados ?
Por quê dashboards com R?
R - Linguagem com suporte para Machine Learning e Análise de dados
- Fácil de converter Scripts em Aplicações
- Integração de módulos com um Workflow de Dashboards, permitindo que seu
painel de dados esteja sempre atualizado
- Facilidade de publicação e análise de resultados
- Dashboards responsivos com diversas opções de layout a partir
de frameworks nativos
- Fácil de serem "embutidos" em Iframes (Shiny)
- Diversas bibliotecas para apresentação dos dados
BigData
“Termo que descreve o imenso volume de
dados – estruturados e não estruturados – que
impactam os negócios no dia a dia.[...] Big Data
pode ser analisado para a obtenção de insights
que levam a melhores decisões e direções
estratégicas de negócio.”
SAS
BigData
● “Big Data faz referência ao grande Volume,
Variedade, Velocidade, Veracidade e Valor de
dados que demandam formas inovadoras e
rentáveis de processamento da informação,
para melhor percepção e tomada de decisão.”
Gartner
BigData
● “Grande quantidade de dados que não
consegue ser tratada com a tecnologia
tradicional”
+
● “Ferramentas e tecnologias utilizadas para
extrair informação de uma grande quantidade
de dados”
Engenharia de
Dados Ciência dos Dados
Desenvolve formas inovadoras e
eficientes para capturar, armazenar, Área multidisciplinar envolvendo,
condensar, organizar e processar principalmente, Estatística,
grandes volumes de dados Computação, Matemática, entre
outras.
Constrói e mantém sistemas
responsáveis por gerenciar grandes
Extração de insights significativos a
conjuntos de dados, tratando dos
partir de dados brutos
gargalos e problemas que podem
existir no consumo desses dados por
outras aplicações Comunicação eficaz dos resultados
para geração de valor e auxílio na
tomada de decisões
Área mais técnica ligada à Ciência da
Computação
Área mais aberta com atuação
ampliada em vários segmentos
Fatos em sua forma
primária
01 Dados
Ex: nome do
funcionário, número 02 Informação
de peças,
meia-passagem
registrada,
voto de um eleitor,
data de óbito, etc.
03 Conhecimento Fatos organizados de
maneira significativa.
Vai além das informações,
envolvendo significados e Dados de peças em
aplicações. estoque permitem gerar a
lista das peças em falta.
O Conhecimento constitui saberes,
produz ideias e experiências que Todas as passagens de
informações por si só não são ônibus juntas permitem uma
capazes de elaborar. projeção dos ganhos das
empresas.
Arquitetura Cliente-Servidor
Arquitetura para aplicações distribuídas:
➢ Servidores: fornecedores de recursos ou serviços a rede
■ aguarda requisições de entrada
➢ Clientes: requerentes dos recursos ou serviços
■ responsável por iniciar a comunicação com o servidor
■ solicita alguma função do servidor
■ não compartilha nenhum de seus recursos com o
servidor
* Variações de clientes: heavy x Thin
Arquitetura Cliente-Servidor
Arquitetura Cliente-Servidor
Cliente-Servidor no R
Preparando o ambiente de desenvolvimento:
RStudio (desktop) ou Posit Cloud ([Link] )
Bibliotecas e bases de dados
Cliente-Servidor no R
Tidyverse: Manipulação e Visualização de dados
Cliente-Servidor no R
Shiny: Desenvolvimento de aplicações Web
Cliente-Servidor no R
Cliente-Servidor no R
Criando o projeto no RStudio:
1. Menu -> New File -> Shiny Web App -> Multiple Files
a. ui.R
b. server.R
2. Aplicação padrão “Old Faithful Geyser Data”
3. Run App
Cliente-Servidor no R
ui.R server.R
1 - endereço
1 2 3 5
local, porta 4384;
2 - abre o
dashboard no
navegador
padrão;
4
3 - recarrega o
dashboard;
4 - controla o
número de barras
do histograma;
5 - faz a
publicação online
em um servidor
previamente
configurado.
Arquivo ui.R
Aplicação exemplo “Old Faithful”
Arquivo server.R
Aplicação exemplo “Old
Faithful”
Client side: ui.R
fluidPage(): visualização mais fluída
responsável pela responsividade e adaptabilidade, a
depender do tipo de dispositivo cliente, podendo
redimensionar a tela de várias formas
Server side: server.R
function (input, output, session) { }
input: recebe os valores vindos da interface do usuário (client)
output: valores a serem repassados do servidor para a interfac
do usuário
session: gerenciamento de cookies, login, etc…
Server side: server.R
output
distPlot : variável responsável por receber o conteúdo a ser
enviado para a interface do usuário cliente
renderPlot() : função que prepara (renderiza) os dados
e os gráficos a serem enviados por distPlot
Server side: server.R
output
faithful: base de dados “nativa” do RStudio com dados sobre
intervalos de erupção em Geisers no Parque YellowStone
(faça um teste no console ;-) )
x: variável que se comporta como um vetor recebendo todos o
dados da segunda coluna de faithful
Server side: server.R
output
bins : variável oriunda da interface (ui.r) que chega como
parâmetro trazendo o valor selecionado pelo usuário
seq: gerador de sequências regulares. No exemplo, recebe iníci
e fim da sequência de valores.
[Link] recebe como parâmetro o valor definido na interface
de usuário (input$bins) adicionando 1.
Server side: server.R
output
hist : função para geração de um histograma*
breaks : intervalos a serem plotados no gráfico
col ? border ? xlab ? main ?
Tipos de DashBoard
Tipo 1 - Dashboard operacional
Painel de dados para ser utilizado por quem "faz o negóc
girar", ou seja, pela equipe operacional que avalia se
processos estão evoluindo conforme planejado.
Exemplos:
acompanhamento em tempo real da produção de uma fábric
disponibilidade da infra-estrutura de TI, monitoramento
prazos de logística para recebimento de insumos ou entrega d
produtos, evolução de estoques, acompanhamento
resultados, entre outros.
Tipos de DashBoard
Tipo 2 - Dashboard tático
Painel voltado ao time de gestão de cada departamento. Perm
acompanhamento de indicadores com informaçõ
para tomadas de decisão de médio prazo.
Geralmente são acompanhados os indicadores-chave
performance (KPIs), relevantes para indicar a evolução
estratégia da instituição/empresa.
Tipos de DashBoard
Tipo 3 - Dashboard estratégico
Painel voltado para a diretoria. Dá suporte à tomada de decisão
sobre objetivos de longo prazo.
A evolução das metas, indicadores financeiros, resultados das
áreas e do negócio em geral são informações que podem ser
acompanhadas nesse tipo de painel.
Tipos de DashBoard
Tipo 4 - Dashboard analítico
Preparado para disponibilizar informações bem detalhadas,
com o objetivo de acompanhar os padrões estabelecidos
para a operação, permitindo a correção de desvios de forma
rápida e evitando prejuízos e perdas.
Tipos de DashBoard
Tipo 5 - Dashboard financeiro
Objetivo: acompanhar o fluxo de caixa e o resultado financeiro
da empresa em tempo real.
Contato
pablovf@[Link]
[Link]@[Link]
Photo by Dave Hoefler on Unsplash