Omega Data Academy

Shiny Essencial

Transforme dados em decisões, construa sistemas automatizados e empodere usuários, dominando a criação de interfaces intuitivas e dinâmicas com R.
63 Estudantes inscritos
0
0 avaliações
  • Descrição
  • Currículo
  • FAQ
  • Reviews
capa-shiny-essencial

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!

 

Qual é o foco principal do curso "Shiny Essencial"?
O curso foca no desenvolvimento de aplicações e dashboards interativos usando a linguagem R e o pacote Shiny, capacitando os alunos a criar ferramentas para explorar dados, padronizar processos e empoderar usuários na tomada de decisões informadas.
Quais são os principais objetivos de aprendizado neste curso?
O curso visa ensinar a distinguir e construir dashboards e aplicações, a estruturar o código Shiny (UI, Server, Reatividade), a utilizar diversos widgets e outputs, a lidar com reatividade complexa, a implementar layouts e interfaces avançadas, e a gerenciar upload/download de arquivos e atualização de dados em tempo real.
Quem pode se beneficiar deste curso?
O curso é ideal para quem deseja aprimorar suas habilidades em análise de dados, modelagem e interpretação de resultados, e para profissionais que buscam criar ferramentas analíticas e sistemas completos para empresas, facilitando a interação de usuários com dados e processos complexos, independentemente de seu nível de programação.
Qual a metodologia de ensino utilizada no curso?
O curso adota uma metodologia de aprendizado prático, onde todas as técnicas são aplicadas com exemplos reais e exercícios práticos. As demonstrações envolvem a construção de diversas aplicações e dashboards do zero, e o aluno terá acesso ao código-fonte.
O curso oferece certificado de conclusão?
Sim, ao final do curso, os alunos recebem um certificado que comprova suas novas habilidades.
Qual a vantagem competitiva de aprender R para construção de dashboards e aplicações?
O R não é apenas um software de BI; ele permite ir muito além da simples visualização de dados. Com o R, é possível criar inúmeras aplicações e microsserviços que resolvem problemas analíticos complexos, incluindo funcionalidades como upload e download de arquivos, e a execução de modelos estatísticos ou de aprendizado de máquina no backend. A maioria dos softwares de BI não possui esses recursos.
Quais são os requisitos de software para acompanhar o curso?
Você precisará ter o R instalado (recomenda-se a versão mais recente do CRAN) e o pacote Shiny instalado no R. A IDE mais popular e recomendada para trabalhar com R é o RStudio Desktop, que pode ser baixado do site da Posit. No entanto, o curso também menciona e, em algumas sessões, pode utilizar outros editores gerais habilitados para R, como VS Code ou GNU Emacs, para demonstrar flexibilidade.
Como uma aplicação Shiny é estruturada?
As aplicações Shiny são construídas com três elementos principais: uma User Interface (UI) (geralmente em ui.R ou como um objeto UI), que define a interface do usuário (front-end) com seus elementos visuais e widgets; um Server (em server.R ou como uma função server), que contém a lógica de processamento e os cálculos (back-end); e um mecanismo de Reatividade que conecta os estímulos gerados na UI (inputs) aos resultados processados no Server (outputs), garantindo que a aplicação reaja dinamicamente às interações do usuário. O arquivo global.R pode ser usado para carregar dados e funções que são utilizados tanto pela UI quanto pelo Server, sendo lido apenas uma vez na inicialização da aplicação.
Quais são os principais tipos de "Inputs" (Widgets) abordados no curso?
O curso aborda diversos widgets de entrada, que são elementos com os quais o usuário interage para fornecer informações. Exemplos incluem actionButton (botões de ação), checkboxInput e checkboxGroupInput (caixas de seleção simples ou em grupo), dateInput e dateRangeInput (seletores de data), numericInput (campos para entrada de valores numéricos), textInput e textAreaInput (campos para entrada de texto), sliderInput (deslizadores para valores ou intervalos), radioButtons (botões de rádio), e fileInput (seletor de arquivos para upload).
Quais são os principais tipos de "Outputs" (Saídas) abordados no curso?
O curso cobre a exibição de diversos tipos de outputs, que são os elementos que a aplicação Shiny exibe para o usuário. Isso inclui gráficos (estáticos como os do pacote graphics, lattice, ggplot usando renderPlot/plotOutput; e interativos como Plotly, Google Vis, High Charter, Echards, RGL, Leaflet, com seus respectivos render* e *Output como renderPlotly/plotlyOutput), tabelas (estáticas com renderTable/tableOutput; e interativas com o pacote DT usando renderDataTable/dataTableOutput, ou Reactable), saídas de texto formatadas (renderPrint com textOutput, verbatimTextOutput, ou htmlOutput), imagens (renderImage/imageOutput), e caixas de informação (como renderInfoBox/infoBoxOutput e renderValueBox/valueBoxOutput do pacote Shiny Dashboard).
É possível criar seletores de dados hierárquicos (ex: Região, Estado, Município) em Shiny?
Sim, é possível criar seletores hierárquicos onde a seleção em um widget pai (ex: Região) filtra as opções disponíveis em um widget filho (ex: Estado).
É possível realizar Upload e Download de arquivos através de uma aplicação Shiny?
Sim. O Shiny permite o upload de diversos tipos de arquivos (CSV, Excel, imagens, PDFs, JSON, etc.). Da mesma forma, a aplicação pode gerar e permitir o download de arquivos resultantes de processamentos (texto, imagens, PDFs, etc.)
Existe alguma forma de construir a interface visualmente, sem precisar escrever todo o código?
Sim, o curso demonstra o uso de ferramentas que permitem a construção visual da interface. Existem pacotes que oferecem interfaces de "arrastar e soltar" onde você pode dispor os elementos da UI (widgets e outputs) graficamente. Essas ferramentas geram o código R base para a interface, que pode ser copiado e posteriormente refinado com a lógica de reatividade e outros ajustes manuais.
É possível criar formulários de várias etapas ou "wizards" em Shiny?
Sim. É possível criar formulários ou processos de várias etapas. A navegação entre essas "etapas" (abas) é então controlada programaticamente no backend, geralmente por botões "Próximo" e "Anterior" (actionButton), que atualizam a aba selecionada. Isso permite ao usuário progredir por diferentes seções de um questionário ou por fases de um processo analítico de forma sequencial e controlada.