Shiny Essencial
Bem-vindo ao curso de Desenvolvimento de Aplicações e Dashboards Interativos com R e Shiny! Este programa intensivo e prático foi meticulosamente desenhado para capacitá-lo a criar soluções web robustas e dinâmicas, transformando análises complexas em ferramentas intuitivas para a tomada de decisão baseada em dados. Você não apenas dominará a construção de dashboards interativos e aplicações personalizadas, mas também aprenderá a alavancar o poder do R para automatizar processos, integrar diferentes fontes de dados e entregar valor estratégico, destacando-se como um profissional inovador e indispensável no mercado atual.
Objetivos do Curso
Ao final deste curso, você será capaz de:
- Criar dashboards interativos para exploração de dados, storytelling e suporte à decisão, permitindo que o usuário modifique parâmetros, verifique o impacto de alterações e compreenda fenômenos complexos.
- Desenvolver aplicações web personalizadas que automatizam processos complexos, padronizam tarefas e dão poder analítico a diferentes pessoas na corporação, desde estagiários a CEOs.
- Dominar a anatomia de uma aplicação Shiny (UI, Server, e mecanismos de reatividade) e organizar o código de forma eficiente para manutenção e colaboração.
- Utilizar uma vasta gama de widgets (inputs) para coletar informações do usuário, como botões de ação, caixas de seleção, seletores de data, campos numéricos e de texto, deslizadores e funcionalidade de upload de arquivos.
- Exibir dados de forma impactante através de diversos tipos de outputs, incluindo gráficos (estáticos e interativos com Plotly, GoogleVis e Leaflet), tabelas dinâmicas (DT e Reactable), imagens, textos formatados, e caixas de informação (InfoBox/ValueBox).
- Implementar mecanismos avançados de reatividade (
reactive
, eventReactive
, observe
, observeEvent
, reactiveVal
, reactiveValues
, reactiveFileReader
, reactivePoll
) para criar aplicações eficientes, com validação de entradas e atualização em tempo real de dados provenientes de arquivos ou bancos de dados.
- Projetar layouts responsivos e sofisticados, utilizando painéis, menus de navegação e janelas modais para uma experiência de usuário (UI/UX) otimizada em diferentes dispositivos.
- Adotar práticas de desenvolvimento produtivo, utilizando IDEs como RStudio, VS Code e Emacs, e explorando ferramentas de construção visual de interfaces para agilizar o processo.
Conteúdo Programático
O curso está organizado em unidades didáticas, cada uma abordando tópicos essenciais para o domínio do desenvolvimento com R e Shiny, com ênfase em casos práticos e exemplos aplicados.
Unidade 1: Fundamentos do Shiny e Ambiente de Desenvolvimento
- Introdução a Dashboards e Aplicações: Definição, distinção e o potencial de cada um para comunicação e tomada de decisão.
- A Anatomia Shiny: Compreensão do modelo mental UI (User Interface) e Server (Back-end) e como eles se interligam para criar aplicações interativas.
- Organização de Projetos: Estratégias para estruturar o código em arquivos UI.R, Server.R e Global.R, facilitando a manutenção e colaboração.
- Configuração do Ambiente R para Desenvolvimento Web: Instalação do R, RStudio IDE (ou explorando VS Code e Emacs como alternativas robustas) e o pacote Shiny, incluindo dicas de produtividade.
- Construindo sua Primeira Aplicação do Zero: Aplicação prática de todos os conceitos iniciais para dar vida à sua primeira interface.
Unidade 2: Interação e Visualização: Inputs e Outputs
- Widgets (Inputs) Detalhados: Explore a criação e uso de todos os principais inputs do Shiny, como deslizadores (
sliderInput
), botões de ação (actionButton
), caixas de seleção (checkboxInput
), campos de entrada de texto e numéricos (textInput
, numericInput
), seletores de data (dateInput
) e listas suspensas (selectInput
, radioButtons
).
- Outputs para Exibição de Dados: Aprenda a renderizar e exibir gráficos estáticos (ggplot2) e interativos (Plotly), tabelas HTML simples e tabelas dinâmicas (DT, Reactable), imagens, textos formatados e caixas de informação (InfoBox, ValueBox) para KPIs.
- Integração com Fontes de Dados: Conecte suas aplicações a arquivos CSV, JSON e explore a flexibilidade do R para consumir dados de diversas origens, incluindo web scraping.
- Casos Práticos de Aplicações e Dashboards:
- Dashboard de Vacinação COVID: Visualize pirâmides etárias, taxas de vacinação e market share de fabricantes por região e município.
- Dashboard de E-commerce: Analise satisfação do cliente, custos de frete, atrasos de entrega e padrões de compra em diversas granularidades geográficas e temporais.
- Dashboard de Eleições: Explore métricas de competitividade e distribuição de votos de candidatos.
- Calculadora de Financiamento Imobiliário: Simule cenários de empréstimos, taxas de juros e planos de pagamento.
- Aplicação Geoestatística: Automatize a geração de mapas interpolados para recomendação de adubação em talhões agrícolas.
- Ferramenta de Extração de Dados de PDFs: Transforme dados complexos de PDFs (ex: preços de SEASA) em tabelas estruturadas (CSV), economizando tempo e padronizando processos.
Unidade 3: Reatividade e Validação de Entradas
- Mecanismos de Reatividade em Profundidade: Entenda como os estímulos se propagam na aplicação e utilize
reactive
, eventReactive
, observe
e observeEvent
para otimizar o fluxo de dados e evitar cálculos desnecessários.
- Valores Reativos e Estados da Aplicação: Use
reactiveVal
e reactiveValues
para gerenciar o estado dinâmico da aplicação, como o monitoramento de novos inscritos em tempo real.
- Validação de Entradas do Usuário: Implemente
req
, need
e validate
para criar validações robustas, personalizar mensagens de erro e garantir que os dados de entrada estejam no formato esperado.
- Atualização de Inputs Hierárquicos: Crie seletores interdependentes (ex: região, estado, município, time) para uma navegação de dados intuitiva e sem falhas.
- Atualização em Tempo Real de Dados: Conecte sua aplicação a fontes de dados que mudam constantemente, como arquivos (
reactiveFileReader
com MD5 check) ou tabelas em bancos de dados (SQLite, Postgre, MySQL com reactivePoll
), garantindo que seus dashboards reflitam as informações mais recentes.
- Upload e Download de Arquivos: Permita que os usuários interajam com a aplicação carregando seus próprios dados (CSV, Excel, imagens, PDFs) para processamento e baixando os resultados gerados.
- Gráfico de Reatividade (React Log): Utilize essa poderosa ferramenta visual para entender, depurar e otimizar o fluxo de reatividade de suas aplicações, tornando-as mais eficientes e livres de bugs.
Unidade 4: Design de Interface e Experiência do Usuário (UI/UX)
- Tipos de Layouts Básicos: Construa interfaces organizadas com
FluidPage
, SidebarLayout
, FluidRow
, Column
, FlowLayout
, SplitLayout
e VerticalLayout
, adaptando-se a diferentes necessidades de exibição.
- Painéis para Agrupamento: Use
TagList
e WellPanel
para agrupar elementos, AbsolutePanel
para painéis flutuantes arrastáveis (ideal para mapas), ConditionalPanel
para exibir elementos com base em condições, e TabSetPanel
para criar abas de navegação.
- Menus de Navegação Complexos: Crie sistemas com múltiplos níveis de navegação usando
NavBarPage
e NavListPanel
, transformando sua aplicação em um verdadeiro sistema de análise de dados.
- Janelas Modais: Implemente caixas de diálogo (
showModal
) para comunicar mensagens de erro, sucesso, avisos, ou para agrupar opções avançadas, melhorando a interação com o usuário.
- Construção de Formulários Multi-etapas: Projete questionários e fluxos de trabalho sequenciais utilizando abas ocultas e botões de navegação, como um assistente de instalação de software.
- Construção Visual da Interface (Prototipagem Rápida): Explore ferramentas visuais como o pacote
Designer
e ShinyUI Editor
para prototipar a interface de sua aplicação de forma intuitiva, gerando código R limpo e pronto para uso.
- Design Moderno e Responsivo: Entenda como o Shiny utiliza o framework Bootstrap (versões 3, 4 e 5) e como aplicar classes CSS para criar interfaces com aparência moderna e responsividade para diferentes tamanhos de tela (desktop, tablet, celular).
Por que fazer este curso?
Este curso não é apenas sobre aprender a codificar; é sobre transformar sua capacidade analítica em soluções tangíveis e impactantes que impulsionarão sua carreira e sua organização.
- Diferencial Profissional Incomparável: O R não é um software de BI; ele está muito além disso. Ao dominar o Shiny, você adquire a capacidade de criar “micro-serviços” e aplicações analíticas complexas que a maioria dos softwares de BI não suporta, como rodar modelos estatísticos ou de aprendizado de máquina, conectar-se a bancos de dados NoSQL, ou lidar com upload/download de arquivos. Isso lhe confere uma vantagem competitiva gigantesca no mercado de trabalho.
- Aprendizado Prático e Aplicado: Todas as técnicas são ensinadas com exemplos reais e exercícios práticos, construindo aplicações do zero e explorando cenários diversos. Você verá em ação casos como o monitoramento em tempo real de sinais vitais de máquinas em uma fábrica para economia de milhões de reais, ou a análise de dados eleitorais para tomada de decisão estratégica.
- Conteúdo Abrangente e Profundo: Desde os fundamentos da anatomia do Shiny e organização de código até a reatividade avançada, design de UI/UX sofisticado e integração de dados complexos, este curso cobre tudo o que você precisa para se tornar um desenvolvedor Shiny completo e autônomo.
- Habilidades Altamente Valiosas para o Mercado: Desenvolva a capacidade de criar ferramentas que padronizam processos, economizam tempo e empoderam seus colegas e lideranças na tomada de decisões baseadas em dados. Você se tornará um resolvedor de problemas essencial em qualquer organização.
- Otimização e Eficiência: Aprenda a construir aplicações com back-ends eficientes e reatividade otimizada, evitando cálculos desnecessários e garantindo alta performance e uma excelente experiência para o usuário.
- Instrutores Qualificados: Aprenda com especialistas que não apenas dominam a teoria, mas também possuem vasta experiência prática no desenvolvimento de aplicações R e Shiny em ambientes reais, utilizando as melhores práticas e ferramentas do mercado.
- Certificado de Conclusão: Ao final do curso, receba um certificado que comprova suas novas e valiosas habilidades em desenvolvimento de aplicações web interativas com R e Shiny.
Prof. Dr. Walmes Zeviani
Prof. Walmes Zeviani possui doutorado em Estatística e Experimentação Agropecuária, sendo professor do Departamento de Estatística desde 2010, além de ser um experiente programador R. Com ampla experiência no ensino de Estatística e Data Science, já ministrou inúmeros cursos de R em diversas instituições de ensino e pesquisa desde 2008. Com sua paixão pelo ensino, ele está pronto para guiar você em sua jornada de aprendizado em Ciência de Dados com a linguagem R!