Você está na página 1de 104

ANA CAROLINA FERNANDES DIAS

Graduada e Mestre em Estatística pelo Departamento de Estatística


da Universidade Federal de Minas Gerais (UFMG).

Trabalho com análise de dados e criação de ferramentas para


visualização de resultados e tomada de decisões. Atualmente trabalho
no setor de Tecnologia Educacional na área de Avaliação e Estatística
no Bernoulli.

Sou Analista – entusiasta da Ciência e análise de dados. Acredito no


poder da estatística e da análise como ferramentas de
desenvolvimento, aprimoramento de processos, e de auxilio à
sociedade.

Sou Co-fundadora do R-Ladies Belo Horizonte e membro do


Stats4Good (Statistics for good).

https://www.linkedin.com/in/ana-carolinadias/ Karol.fdias@hotmail.com
Sobre o R-Ladies

Somos uma organização mundial cuja missão é promover a diversidade de gênero


na linguagem computacional R.

Como uma iniciativa de diversidade, a nossa


missão é alcançar uma representação
proporcional.
Incentivando
Inspirando
Capacitando
Pessoas de gêneros atualmente sub-
representados na comunidade R.

O foco principal do R-Ladies, portanto, é apoiar essas pessoas para que possam
alcançar seu potencial de programação, construindo uma rede global colaborativa de
líderes, mentores, aprendizes e desenvolvedores para facilitar o progresso individual e
coletivo em todo o mundo.
Organização
Quem lidera o R-Ladies Belo Horizonte:

Layla Comparin Ana Carolina Dias Larissa Fernandes

Numiá Gomes Vanessa Santos


Site
http://rladiesbh.com.br/

Meetup
https://www.meetup.com/pt-BR/rladiesbh/

Github
https://github.com/rladies/meetup-presentations_belohorizonte

Linkedin
https://www.linkedin.com/company/rladies-belo-horizonte/

Instagram
https://www.instagram.com/rladiesbh/

Facebook
https://www.facebook.com/rladiesbh

Twitter
https://twitter.com/RLadiesBH

Nosso Eventos
https://www.sympla.com.br/rladiesbh
https://medium.com/rladiesbh
• O Dashboard é uma representação visual das informações mais importantes em forma de painel de
controle para auxiliar na tomada de decisões.

• Ou seja, utilizamos uma grande base de dados disponível na empresa e transformamos ela nos
principais indicadores de desempenho, com gráficos e tabelas relevantes.

• Existem diversos tipos de geração de informação, mas o formato visual ganha muitos pontos quando
se trata de entender como estão indo resultados, possibilitando que qualquer pessoa consiga
consumir a informação.
Neste curso vamos utilizar o flexdashboard, um pacote do R que permite criar painéis
interativos flexíveis e atraentes.

Os destaques do pacote incluem:

• Suporte para uma ampla variedade de componentes, incluindo a utilização de


gráficos interativos.

• Flexível e fácil de especificar os layouts baseados em linhas e colunas.

• Os componentes são redimensionados de forma inteligente para preencher o


navegador e adaptados para exibição em dispositivos móveis.

• Por padrão, os painéis são documentos HTML padrão que podem ser implantados
em qualquer servidor Web ou até anexados a uma mensagem de e-mail.

• Você pode implantar no Shiny Server ou shinyapps.io


[https://shiny.rstudio.com/deploy/].
https://beta.rstudioconnect.com/jjallaire/htmlwidgets-rbokeh-iris/htmlwidgets-rbokeh-iris.html
Instale o pacote que vamos utilizar:

No seu projeto do R-Studio clique em: File -> New File -> R Markdown.
Na janela que abriu, clique em: From Template -> Flex Dashboard.
O R vai criar um novo arquivo chamado: Untitled1.
Clique em CTRL + S ou clique no disquete para salvar esse arquivo com o nome:
meu_primeiro_dashboard.
Ao salvar você pode ver que um novo arquivo com extensão .RMD foi criado na
pasta.
Como primeiro experimento, clique em:
Como resultado temos o início de um Dashboard criado:
Os painéis estão vazios
porque ainda não
utilizamos nenhuma
código em R para plotar
gráficos ou criar tabelas.
Utilizaremos como exemplo na construção do Dashboard o banco de dados Iris, já
disponível no R.
Abra o código R escrito meu primeiro Dashboard Iris e rode o Script!

Pronto!! Agora temos um


banco de dados Lido e
algumas visualizações
plotadas.
• Ao iniciar um novo Dashboard, a primeira coisa que vamos redefinir é o nome desse Dashboard.
Definimos o nome no argumento title: “Nome do Dashboard”.

Este é o nome que vai aparecer no topo da tela ao rodar o script.

• No seu arquivo troque o título para Meu primeiro Dashboard Iris.


• Podemos especificar quem foi o autor desse Dashboard. Para isso utilizamos o argumento Author.

Adicione ao seu arquivo o argumento author e insira o seu nome.


• Você pode preencher esse Dashboard de duas maneiras:
1. Especificando que os seus painéis serão preenchidos por colunas.
2. Especificando que os seus painéis serão preenchidos por linhas.

Essa especificação é feita no argumento orientation destacado na figura acima.

Como padrão a orientação dos painéis é feitas por colunas.


• Como mencionado anteriormente por padrão o código preenche os painéis por colunas.

• Definimos a quantidade de painéis em uma coluna pelo comando:

Ou seja inserimos 3 vezes o caráter especial # + um espaço + o nome do painel que desejamos
adicionar.
• No nosso código ficaria dessa forma:
• Para criar painéis usando várias colunas, introduza o seguinte comando para definir cada coluna:

Ou seja, inserimos o nome Colunm + espaço + a largura da coluna entre chaves + uma linha com vários
traços.

Primeira coluna, com Segunda coluna,


largura 600. com largura 400.

A largura total das colunas é igual a 1000. Portanto só podemos dividir as colunas onde a soma das larguras é igual a 1000.
Se você escreve no código que quer mais de uma coluna mas não especifica o tamanho de cada uma, ele divide 1000 pelo
numero de colunas que você especificou. Ou seja, as colunas criadas ficam com a mesma largura.
• No nosso código ficaria dessa forma:

Primeira coluna, com


largura igual a 650 e Segunda coluna,
somente um painel. com largura
igual a 350 e
dois painéis.
Largura: 500 Largura: 500
• A diferença da orientação da linha para coluna, é que o dashboard é preenchido primeiro por linhas e
depois por colunas.
• Usaremos nesse caso o comando Row ao invés de Column, e mudamos a orientação para rows.

Primeira linha , com largura 500.

Segunda linha , com largura 500.


Obs. : Para modificar o tamanho
das linhas utilizamos o comando
data-height ao invés do comando
• No nosso código ficaria dessa forma: data-width utilizando para
preenchimento por colunas.

Primeira linha , com largura 650.

Segunda linha , com largura 350.


• Um outro argumento para definir como os dados serão apresentados é o vertical_layout.

Por padrão esse layout é definido como fill (preencher), isso significa que o nosso Dashboard será
expandido ou retraído para se ajustar a altura disponível do navegador.

O outro método de preenchimento é o scroll, que cria uma barra de rolagem na barra lateral direita do
Dashboard e assim os painéis não precisam ajustados para caberem na altura do navegador.
Preenchimento:
fill

Preenchimento:
scroll
• Uma outra forma de criar as divisões de Layout por colunas
(ou linhas) é utilizar o seguinte comando:

Ou seja, inserimos o caractere # duas vezes + Colunm + espaço


+ a largura da coluna entre chaves
Se você possui vários componentes que gostaria de exibir em uma linha ou coluna, em vez de tentar
ajustá-los todos na tela ao mesmo tempo, você pode configurá-los como um conjunto de guias (abas).

Em muitos casos, os conjuntos de guias são uma solução melhor do que o vertical_layout: scroll, para a
exibição de um grande número de componentes, pois são muito fáceis de navegar.

Para fazer o layout de uma linha ou coluna como um conjunto de guias, basta utilizar o comando:
• No nosso código ficaria dessa forma:
Um outro recurso bastante útil nos Dashboards é a criação de novas abas para permitir diferentes
visualizações.

• Para inserir novas abas, basta adicionar o seguinte comando antes de definir as colunas:

Ou seja, inserimos o caractere # + nome da aba que estamos criando.


Podemos adicionar ícone em frente de cada aba criada.

• Para isso adicionamos utilizamos o seguinte comando:

Ou seja, inserimos o caractere # + nome da aba que estamos criando + o comando de adição de ícones
entre chaves.
• Alguns dos ícones disponíveis para serem utilizados são os ícones disponíveis no Fontawesome:
https://fontawesome.com/icons?d=gallery

Substitua o
ícone do código
por este aqui e
veja o resultado!
• Ícones disponíveis no ionicons: https://ionicons.com
No exemplo anterior as páginas usam a mesma orientação padrão.

• No entanto, é possível especificar um Layout distinto para uma página individual. Isso é feito
adicionando o data-orientation ao cabeçalho da página da qual você deseja alterar a orientação.
O Flexdashboard facilita a organização do seu conteúdo em um layout visual:

• Cada cabeçalho de nível 1 ( #) inicia uma nova página no painel.


• Cada cabeçalho de nível 2 ( ##) inicia uma nova coluna.
• Cada cabeçalho de nível 3 ( ###) inicia uma nova caixa.
Você pode incluir um link para o seu script do painel usando a opção source_code.

O seu código pode ser incorporado ao Dashboard dessa forma:

Ou pode ser um link para uma URL na qual o seu código pode ser encontrado online (por exemplo
source_code: "https://github.com/user/repo").

O Dashboard a seguir inclui uma cópia incorporada do código-fonte que pode ser visualizada clicando no
botão "Código-fonte" na barra de navegação:
Você pode permitir que o seu Dashboard seja compartilhado em várias redes sociais como: "facebook",
"twitter", "google-plus", "linkedin" e "pinterest“.

Você pode fazer isso utilizando a opção:


Ou escrevendo somente as redes sociais que você deseja, de forma separada.
Você ainda pode colocar na Barra de navegação links externos como sites e outros.
Se você precisar incluir narrativas ou explicações adicionais em seu painel, faça isso das seguintes maneiras:

• Você pode incluir conteúdo na parte superior da página antes da introdução das seções do painel.
• Você pode definir seções do painel que não incluem um gráfico ou tablela, mas que incluem conteúdo
arbitrário (texto, imagens, equações etc.)
Se você precisar incluir narrativas ou explicações adicionais em seu painel, faça isso das seguintes maneiras:

• Você pode incluir conteúdo na parte superior da página antes da introdução das seções do painel.
• Você pode definir seções do painel que não incluem um gráfico ou tablela, mas que incluem conteúdo
arbitrário (texto, imagens, equações etc.)
Para incluir uma nota ao final de cada painel basta incluir qualquer texto precedido do símbolo > após o pedaço
de código que produz a saída do painel.
Por padrão, cada página que você define recebe sua própria guia de nível superior na barra de navegação. No
entanto, se você tiver um grande número de páginas (mais de 5), convém organizar suas páginas em menus
na barra de navegação.

Para especificar que uma página deve ser acessada através de um menu da barra de navegação, use o data-
navmenu.
Você pode formar ligações diretamente para outras páginas do painel usando a sintaxe:
[Page 2].
Uma variedade de temas está disponível para modificar a aparência básica do painel de flexões. Os temas
disponíveis incluem:

O tema "cosmo" é usado como "default". Para modificar use a função theme para especificar um tema
alternativo.

Temas:

• default
• cosmo
• bootstrap
• cerulean
• journal
• flatly
• readable
• spacelab
• united
• lumen
• paper
• sandstone
• simplex
• yeti
Você pode especificar uma imagem de logotipo e / ou favicon para o seu painel usando as opções log oe
favicon, respectivamente.

O logotipo será colocado na extremidade esquerda da barra de navegação do painel. Como a escala não é
executada na imagem da logo, ela deve se ajustar exatamente às dimensões da barra de navegação (48 pixels
de altura para o tema “cosmo” padrão, outros temas podem ter alturas de barra de navegação ligeiramente
diferentes).

Favicon

Logo
Nos painéis do Dashboard podemos utilizar mais do que apenas gráficos para exibir os insights, ,
incluindo:

• Visualizações de dados interativos baseadas em widgets HTML.

• Os gráficos e tabelas base do R.

• Dados tabulares (com classificação, filtragem e paginação).

• Caixas de valor para destacar dados de resumo importantes.

• Medidores para exibir valores em um medidor dentro de um intervalo especificado.

• Anotações de texto de vários tipos.

• Uma barra de navegação para fornecer mais links relacionados ao painel.


• Os widgets HTML funcionam exatamente como gráficos R, exceto que
produzem visualizações interativas. Os gráficos baseados nos widgets html
são ideais para uso em Dashboards, porque eles podem se redimensionar
dinamicamente, por isso quase sempre se encaixam perfeitamente dentro dos
limites de seus contêineres.

Os widgets html disponíveis incluem os pacotes:

• Leaflet , Dygraphs, Plotly, rbokeh e Highcharter .

Existem mais de 30 pacotes no CRAN que fornecem htmlwidgets.

Você pode encontrar exemplos de usos de vários dos mais populares


htmlwidgets na mostra htmlwidgets:
(http://www.htmlwidgets.org/showcase_leaflet.html) e procurar todos os widgets
disponíveis na galeria (http://gallery.htmlwidgets.org/) .
• Leaflet - http://rstudio.github.io/leaflet/

É uma das bibliotecas JavaScript de código aberto mais populares para mapas interativos. É usado por
sites que variam do The New York Times e The Washington Post ao GitHub e Flickr ,

http://shiny.rstudio.com/gallery/superzip-example.html
• Dygraphs - http://rstudio.github.io/dygraphs/

Fornece recursos avançados para gráficos de dados de séries temporais e inclui suporte para muitos
recursos interativos, incluindo realce de série / ponto, zoom e panorâmica.
• Plotly - https://plot.ly/r/

Através da interface ggplotly permite traduzir facilmente os gráficos do ggplot2 para uma versão
interativa baseada na Web.
• Highcharter - http://jkunst.com/highcharter/ (https://www.datacamp.com/community/tutorials/data-
visualization-highcharter-r)

Interface R rica para a popular biblioteca de gráficos JavaScript Highcharts.


• Bokeh - http://hafen.github.io/rbokeh/#background

É uma biblioteca de visualização que fornece uma estrutura declarativa flexível e poderosa para a
criação de gráficos baseados na Web. Bokeh renderiza gráficos usando tela HTML e fornece muitos
mecanismos de interatividade. Bokeh tem interfaces em Python, Scala, Julia e agora R.
Você pode incluir dados tabulares nos painéis flexíveis de uma das duas maneiras:

• Como uma simples exibição tabular.


• Como uma DataTable que inclui classificação, filtragem e paginação.

Tabela Simples

Uma tabela simples é ideal para um número menor de registros (ou seja, 40 a 50 ou menos). O código
necessário para tabelas simples difere dependendo de você estar construindo um painel de dados
estático ou dinâmico.

Para painéis estáticos, você deve usar a função knitr::kable para gerar seu conjunto de dados, por
exemplo:
Você pode incluir dados tabulares nos painéis flexíveis de uma das duas maneiras:

• Como uma simples exibição tabular.


• Como uma DataTable que inclui classificação, filtragem e paginação.

Tabela Simples -
https://cran.r-project.org/web/packages/kableExtra/vignettes/awesome_table_in_html.html#overview

Uma tabela simples é ideal para um número menor de registros (ou seja, 40 a 50 ou menos). O código
necessário para tabelas simples difere dependendo de você estar construindo um painel de dados
estático ou dinâmico.

Para painéis estáticos, você deve usar a função knitr::kable para gerar seu conjunto de dados.

Data Table - https://rstudio.github.io/DT/

O pacote DT (uma interface para a biblioteca JavaScript do DataTables) pode exibir matrizes R ou
tabelas de dados como tabelas HTML interativas que suportam filtragem, paginação e classificação.

Se você deseja usar o DataTables com flexdashboard, instale a versão mais recente do DT (v0.2) do
CRAN (ele contém algumas alterações necessárias para a compatibilidade do flexdashboard):
Tabela Simples
Data Table
Às vezes, você deseja incluir um ou mais valores simples em um Dashboard.

Você pode usar a função valueBox() para exibir valores únicos, juntamente com um título e um ícone
opcional.

• Valor: O valor a ser exibido na caixa. Geralmente um número ou texto breve.


• Icon = Um ícone.
• Color = Cor de fundo da caixa. Pode ser uma das cores: ("primary", "info", "success", "warning",
"danger") ou qualquer cor hexagonal (#CD5C5C).
Os medidores exibem valores em um medidor dentro de um intervalo especificado. Por exemplo, aqui
está um conjunto de três medidores:

• Valor: O valor a ser exibido na caixa. Geralmente um número ou texto breve.


• Min = O valor mínimo que pode ser alcançado.
• Max = O valor máximo que pode ser alcançado.
• sectors = Setores coloridos personalizados ("success", "warning", "danger"). Por padrão, todos os
valores são coloridos usando a cor do tema " success “.
• Symbol = Simbolo para ser mostrado próximo do valor (%, Kg)
Você ainda pode adicionar uma barra lateral ao seu Dashboard, para incluir textos, ou inputs para
modificar os gráficos interativos.

Para isso, basta utilizar o comando: antes de definir as páginas do seu Dashboard.

Observação: Este comando insere a barra lateral de forma global no seu Dashboard, ou seja, essa barra
é incluída em todas as páginas criadas.
Para adicionar a barra lateral a somente uma das páginas, basta utilizar o comando apenas
na frente do titulo da pagina que você deseja adicionar.
Podemos ainda criar nos Dashboards visualizações interativas e reativas aos cliques e seleções um
usuário. https://shiny.rstudio.com/gallery/word-cloud.html

Para entender melhor como funciona a reatividade, podemos pensar em uma fórmula do Excel.

Se colocamos uma fórmula na célula A1 que utiliza as células B1 e C1, sempre que atualizarmos os
valores de B1 e C1, o valor em A1 será automaticamente atualizado.

Aqui, a ideia é exatamente a mesma. A diferença é que em vez de células, temos inputs e outputs.

Chamaremos de Inputs as ações de um usuário do seu Dashboard. Os tipos de Input podem ser:

https://shiny.rstudio.com/gallery/widget-gallery.html
O que nos leva ao Output, que é o resultado gerado da ação de usuário.

Portanto, teremos os elemento de entrada (por exemplo, controles deslizantes, caixas de seleção, etc.)
chamados de Input e os elementos de saída (plotagens, tabelas, etc.) chamados de Output.

Segue uma lista dos principais inputs utilizados num Shiny app:

Todos os inputs possuem o argumento inputId=. Esse argumento definirá o que o usuário fez e como
usaremos isso no output. Cada input terá argumentos específicos da própria função. Assim, se você
nunca usou um determinado input, procure no help() da função quais são os argumentos que ela recebe.

No caso da sliderInput(), podemos controlar o valor mínimo do slider (min = 1), o valor máximo (max =
30) e o valor padrão (value = 10).
Da mesma forma que há uma função para cada tipo de input, há uma função para cada tipo de output:

Visualizar Exemplo : https://jjallaire.shinyapps.io/shiny-kmeans/


https://jjallaire.shinyapps.io/shiny-ggplot2-diamonds/

Os outputs devem ser construídos com funções render_(). Existe uma função render_() para cada tipo
de objeto. As principais são:
Um fluxo básico seria o seguinte:

O Shiny disponibiliza funções para manipular a reatividade, alterando o fluxo básico apresentado acima.
A melhor dica para orientar a utilização dessas funções é fazer com que o
seu código rode o menor número de vezes possível.

Em um app complexo, saber o que deve ser ou não reativo pode não ser
trivial. Por isso, o domínio desse conceito e dessas funções é importante
para que o seu aplicativo seja eficiente, principalmente quando ele for ser
utilizado por várias pessoas ao mesmo tempo.

Acesse o help() para mais informações sobre essas funções. Um tutorial


muito mais completo sobre reatividade está disponível na página do Shiny
no site do Rstudio (https://shiny.rstudio.com/tutorial/written-tutorial/lesson6/.
Vamos modificar o gráfico que plotamos para que ele seja reativo ao clique de um usuário.

Vamos fazer com que esse gráfico seja reativo utilizando a opção Checkbox group. Daremos a liberdade
ao usuário de escolher se ele verá apenas uma única espécie , duas ou todas elas.
O primeiro passo é criar um painel com os inputs que o usuário pode selecionar. Vamos colocar essas
opções na barra lateral que criamos anteriormente.

Para isso utilizar o comando inputPanel e alguma das funções de inputs que vimos anteriormente,
nesse caso vamos utilizar o checkboxGroupInput:
Com isso teremos o Dashboard da seguinte forma:
O próximo passo é fazer com que com o nosso banco de dados seja filtrado a medida que o usuário
seleciona as opções.

Para isso utilizamos o comando Reactive :


Por fim, precisamos utilizar os comando que tornam o nosso gráfico reativo aos cliques do usuário, para
isso utilizamos o comando:

Para isso utilizamos o comando render_ e uma função de Outupt :


Você pode precisar disponibilizar o seu Dashboard para um cliente, ou um colega de trabalho. Uma
maneira fácil e gratuita de fazer isso é utilizando o o shinyapps.io, SaaS desenvolvido pela próprio
RStudio.

No entanto, na versão Free o seu app fica com um logotipo do RStudio no canto e não é permitido
configurar um domínio próprio, ou seja, a url do seu app sempre vai ser algo do tipo:
dfalbel.shinyapps.io/meuapp.
Para disponibilizar o seu Dashboard no ShinyApp basta: Você pode o fazer login
usando um e-mail, a
• Criar uma conta gratuita no ShinyApp. conta google, ou a
conta do github.
Após fazer o login na sua conta vai aparecer a seguinte mensagem:

Você precisará de uma conta antes de implantar qualquer aplicativo. Os nomes de contas podem conter
letras, números e hífens, mas não podem começar com um hífen ou um número e não podem terminar
com um hífen. Escolha um nome de conta abaixo para continuar.

Escolha um nome, por exemplo: analises e clique em salvar.


Ao salvar você verá a seguinte imagem:
Instale o
pacote
rsconnect
no seu R

Clique em show
secret e depois em
copy e copie o que
aparece.
Vá no seu R, clique em:

Aqui!

E depois
aqui!
Vai abrir essa janela:

Clique aqui !
Vai abrir essa janela:

Clique aqui !
Vai abrir essa janela:

Esse processo
só precisa ser
feito uma vez
para configurar a
sua conta!

Cole aqui o conteúdo que você


copiou no ShinyApp e clique em
Connect Account.

Depois clique em OK e saia!


Depois clique
Vá no seu Script e adicione o seguinte comando no cabeçalho:
aqui!

Digite o nome do seu


Dashboard aqui.

Obs.: Esse nome vai


aparecer no link de
acesso.
Depois clique
Vá no seu Script e adicione o seguinte comando no cabeçalho:
aqui!

Digite o nome do seu


Dashboard aqui.

Obs.: Esse nome vai


aparecer no link de
acesso.

Clique em publicar
Quando o processo de deploy terminar, vai abrir uma janela com o Dashboard no navegador e o link de
acesso:

Prontinho!
O seu Dashboard
está publicado!!
Agora é só
compartilhar esse
link com quem
quer ver!
Vamos criar um Dashboard utilizando os dados de doença cardíaca.

ANÁLISE DE DOENÇAS CARDÍACAS

Diagnóstico: O diagnóstico de doença cardíaca é feito por uma combinação de sinais clínicos e
resultados de testes. Os tipos de testes realizados serão escolhidos com base no que o médico pensa
que está acontecendo, desde eletrocardiogramas e tomografia computadorizada (TC) cardíaca, até
exames de sangue e testes de esforço.

Alguns dos fatores de risco para doenças cardíacas são:

• Colesterol alto
• Pressão alta
• Diabetes
• Peso
• Tabagismo
• Aumento da idade
• Pessoa pertencente ao sexo feminino
• Hereditariedade

Descrição dos dados:

O banco de dados analisado se refere ao Heart Disease UCI, que fornece várias variáveis, juntamente
com uma condição-alvo de ter ou não ter doença cardíaca.
1. Inicie o código do seu Dashboard, dê o nome de Analise de Doenças cardíacas e coloque o seu
nome como autora.

2. As configurações iniciais serão:


• Orientação por linhas
• Layout: fill
• Permita o compartilhamento em Linkedin, Twitter e instagram.
• Acrescente na barra de navegação um link que leva à uma pesquisa do oogle sobre
doenças cardíacas.
• Adicione uma logo e um Favicon de sua preferência.
•Utilize alguns dos temas para mudar as visualizações.

3. Leia o arquivo heart.csv no seu script.

4. Crie a primeira pagina chamada Visualizações Gerais e utilize um ícone para essa pagina.
Crie 4 caixas informativas no topo superior do Dashboard. (Pode ser Value Boxes
ou Gauges).

5. Crie dois gráficos, um reativo a alguma ação do usuário e o outro não. Para o gráfico reativo, faça
uma barra lateral no seu Dashboard para colocar as opções de input do usuário.

6. Crie uma segunda pagina contendo os dados do banco heart.csv, com o pacote DT. Faça com que
essa tabela tenha: filtragem, paginação, classificação e pesquisa.
Dúvidas?
“A woman acting alone is fierce. A group of women working
together are a FORCE!”

Obrigada!

Você também pode gostar