Introdução à Ciência de Dados

Bacharelado em Administração

Prof. Washington Santos da Silva

IFMG - Campus Formiga

2 de abril de 2025

Diário de Bordo

Tópicos

  • Aula 1 ✅

    • Introdução e Contextualização ✅
    • O que é Ciência de Dados? ✅
    • Papéis Profissionais na Área de Dados ✅
    • Áreas de Aplicações ✅
    • Habilidades Interpessoais e Analíticas ✅
    • Apresentação da Disciplina ✅
  • Aula 2 ✅

    • Metodologia CRISP-DM ✅

    • Tipos de Análise ✅

      • Descritiva ✅
      • Diagnóstica ✅
      • Preditiva ✅
      • Prescritiva ✅
    • Configurações: Git/GitHub ✅

Nesta Aula: Ferramentas para Ciência de Dados

Tópicos

  • Introdução ao RStudio e criação do seu Projeto da Disciplina

  • Introdução ao Sistema de Publicação Quarto

  • Introdução ao Git e GitHub: controle de versão e criação do seu repositório no GitHub

  • Sessão Prática: Fluxo de trabalho integrando RStudio/Quarto/R/Git/GitHub

Cada Segundo Conta: Orientações Práticas

Para aproveitarmos ao máximo o tempo

Autonomia na Resolução de Problemas

  • Os códigos são testados previamente - erros costumam ser de digitação ou por pular etapas.

  • Revise seu código com atenção antes de solicitar ajuda.

  • Colabore com colegas próximos para resolver questões técnicas simples.

  • Reserve as dúvidas ao professor para conceitos ou problemas mais complexos.

Para aproveitarmos ao máximo o tempo

Ambiente de Aprendizado Colaborativo

  • Mantenha conversas em volume baixo, muito ruído atrapalha a todos.

  • Compartilhe conhecimento - explicar conceitos solidifica seu próprio entendimento.

  • Ao ajudar um colega, oriente sem resolver por ele.

  • Lembre-se: o progresso de cada um contribui para o aprendizado coletivo.

Para aproveitarmos ao máximo o tempo

Desenvolvimento de Sofisticação Técnica

  • A habilidade de resolver problemas técnicos é valiosa em qualquer área de atuação.

  • Aprenda a aprender” - invista tempo explorando além do que é apresentado em aula.

  • O objetivo não é apenas dominar ferramentas, mas desenvolver os pensamentos analítico e crítico.

  • Persista diante dos desafios - a resolução de erros é parte fundamental do processo de aprendizagem.

  • Documente suas descobertas para criar um repositório pessoal de conhecimento.

Introdução ao RStudio

O que é o RStudio?

Um Ambiente de Desenvolvimento Integrado (Integrated Development Environment, IDE)

  • IDE que suporta múltiplas linguagens (R, Python, SQL, C++…), mas é especialmente útil para a linguage R

  • Facilita a escrita de código, gerenciamento de projetos, criação de documentos computacionais (arquivos quarto, scripts, notebooks…)

  • Integra ferramentas para desenvolvimento, depuração e publicação

Interface do RStudio

Interface do RStudio

Interface do RStudio

Painel Superior Esquerdo: - Editor de código - Documentos Quarto (.qmd) - Scripts R (.R)

Painel Inferior Esquerdo: - Console R (execução de comandos) - Terminal (acesso ao sistema)

Painel Superior Direito: - Ambiente (variáveis e objetos) - Histórico de comandos - Conexões - Git (controle de versão)

Painel Inferior Direito: - Arquivos - Pacotes - Ajuda - Visualização (gráficos, documentos HTML)

Instalação de Pacotes R

Usando a Guia Packages

Para instalar pacotes usando a guia Packages no RStudio:

  • Clique na guia Packages.

  • Clique em Install Packages.

  • Digite o nome de cada pacote que deseja instalar separados por um espaço ou vírgula na caixa de texto, ou copie os pacotes abaixo e cole na caixa de texto:

tidyverse here usethis fs

Projetos RStudio

O que são projetos RStudio?

  • Unidades organizacionais para seu trabalho
  • Cada projeto tem seu próprio diretório de trabalho
  • Facilita a organização de arquivos relacionados
  • Permite integração com controle de versão (Git)

Criando um projeto para a disciplina

Estrutura do Projeto

  • Vamos criar um projeto RStudio para a disciplina com a seguinte estrutura:
seunome_icd2025/
├── dados/
│   ├── brutos/           # dados originais, sem modificações
│   └── limpos/           # dados após limpeza e transformações              
├── relatorios/           # relatórios em Quarto
│   └── 01-relatorio/     # este relatório html
|   └── 02-relatorio/     # relatório pdf a ser criado
|   └── 03-relatorio/     # relatorio docx a ser criado   
└── seunome_icd2025.Rproj # arquivo do projeto RStudio
└── README.md             # arquivo de documentação do projeto

Como criar um projeto RStudio?

Arquivos para o Projeto da Disciplina

Arquivos disponíveis na página da disciplina

  • Baixe o arquivo 01-relatorio-html.qmd e salve esse arquivo dentro da subpasta 01-relatorio da pasta relatorios.

  • Baixe o arquivo de dados productionlog_sample.csv e salve esse arquivo dentro da subpasta brutos da pasta dados.

Crie um arquivo README.md para seu Projeto

Definição e importância

  • É um arquivo de documentação em formato Markdown que serve como porta de entrada para seu repositório.

  • Normalmente, é o primeiro arquivo que as pessoas visualizam ao acessar seu repositório no GitHub.

  • Funciona como a “página inicial” do seu projeto, explicando:

    • O que é o projeto
    • Como utilizá-lo
    • Como ele está organizado
    • Outras informações relevantes
  • Benefícios para a disciplina:

    • Documenta seu trabalho de forma organizada
    • Facilita a avaliação do professor
    • Serve como portfólio para seu aprendizado
    • Desenvolve boas práticas de documentação

Como criar um arquivo markdown no RStudio?

Passos

No menu superior do RStudio clique em:

  • File -> New File -> Markdown File

  • Salve o arquivo com o nome README.md na raíz do seu projeto RStudio.

Template README.md para seu Projeto

# Introdução à Ciência dos Dados - 2025/1

Este repositório contém materiais e projetos desenvolvidos para 
a disciplina de Introdução à Ciência dos Dados do Bacharelado 
em Administração do IFMG - Campus Formiga, cursada no primeiro 
semestre de 2025.


## O que estou aprendendo nesta disciplina?

Nesta disciplina, estou aprendendo fundamentos de Ciência de Dados. 
Isso inclui:

- Como aplicar a metodologia CRISP-DM em projetos de análise de dados
- Como usar o IDE RStudio
- Como criar relatórios com o sistema Quarto
- Como organizar projetos de análise de dados
- Como trabalhar com o Git e GitHub
- Como usar a linguagem R para analisar dados


## Estrutura do projeto (Organização das Pastas)

- **dados/**
  - **brutos/**: Arquivos de dados originais
  - **limpos/**: Dados organizados após processamento
  
- **relatorios/**
  - **01_relatorio/**: relatório quarto no formato html
  - **02_relatorio/**: relatório quarto no formato pdf
  - **03_relatorio/**: relatório quarto no formato docx


## Atividades Avaliativas

### Avaliação 1

- **Tema:** Fundamentos de R e Manipulação de Dados
- **Data de entrega:** [Data]
- **Status:** [Não iniciado / Em andamento / Concluído]
- **O que aprendi:** [Preencher durante ou após a conclusão]


## Anotações e Dicas Importantes

[Aqui você pode adicionar lembretes, dicas ou comandos úteis 
que aprendeu durante as aulas.]

- Anotação ou dica 1

- Anotação ou dica 2



# Glossário de Termos

Este glossário apresenta uma **versão inicial** dos termos relacionados 
às ferramentas, tecnologias e métodos que utilizaremos na disciplina de 
Introdução à Ciência de Dados: RStudio, R, Quarto, Markdown, 
Git e GitHub, Fundamentos de Probabilidade e Estatística.

> **IMPORTANTE**: Este é apenas um ponto de partida. Você deve 
assumir o protagonismo na ampliação e manutenção deste glossário, 
adicionando novos termos e conceitos à medida que avança no seu 
aprendizado. Anote definições de conceitos que encontrar durante as 
aulas e leituras, reescreva explicações com suas próprias palavras e 
personalize este recurso para que ele realmente apoie seu 
desenvolvimento na disciplina.

O glossário que você construir será uma ferramenta valiosa não apenas 
durante este semestre, mas também em seus futuros estudos e atividades 
profissionais. Consulte-o e, principalmente, enriqueça-o sempre que 
encontrar termos ou conceitos importantes.



## A 

**Ambiente de Desenvolvimento Integrado (IDE)**: Software que combina 
editor de código ou texto, console, gerenciamento de arquivos e outras 
ferramentas para facilitar o desenvolvimento de software.



## C 

**Cabeçalho YAML**: Seção no início de um documento Quarto, delimitada 
por três traços (---), onde são definidos metadados e opções de formatação 
para o documento.

**Células de Código** (*Code Chunks*): Blocos de código em um arquivo 
quarto que podem ser executados, gerando resultados que são incluídos 
no documento final.

**Chave-valor** (*key-value*): Formato de dados usado em YAML que 
associa um nome de propriedade (chave) a um conteúdo ou configuração 
específica (valor).

**Clone**: Cópia completa de um repositório, incluindo todos os arquivos, 
histórico e branches, para o computador local.

**Código Inline**: Código R incorporado diretamente no texto de um 
documento Quarto, indicado pela sintaxe `` `r ` ``, que é executado 
durante a renderização.

**Commit**: "Fotografia" do estado do projeto em um determinado 
momento feita pelo Git, com uma mensagem descritiva das alterações 
realizadas.

**Conflito**: Situação onde o Git não consegue mesclar automaticamente 
alterações de diferentes fontes porque ambas modificaram a mesma parte 
de um arquivo.

**Console**: Interface de linha de comando onde os códigos R são 
executados interativamente e os resultados são mostrados imediatamente.



## E 

**echo**: Opção de célula de código que controla se o código fonte 
é exibido (true) ou ocultado (false) no documento quarto final.

**Editor de texto/código**: Componente de um IDE onde você escreve e 
edita o código antes de executá-lo.

**eval**: Opção de célula de código que determina se o código deve 
ser executado (true) ou não (false) durante a renderização de 
um arquivo quarto.



## F 

**fig-cap**: Opção de célula de código que adiciona uma legenda a 
uma figura gerada pelo código em um arquivo quarto.

**Formato de Saída**: Tipo de documento final gerado pelo Quarto, 
como HTML, PDF, DOCX, apresentações, entre outros.



## G 

**Git**: Sistema de controle de versão distribuído que registra 
alterações em arquivos ao longo do tempo.

**Git Bash**: Terminal especial instalado com o Git no Windows que 
permite executar comandos Git e outros comandos Unix.

**GitHub**: Plataforma online que hospeda repositórios Git e oferece 
ferramentas adicionais para colaboração e desenvolvimento de projetos.



## H 

**Hash**: Identificador único (como `f7d2e09`) gerado para cada commit, 
permitindo referenciar versões específicas dos arquivos.



## I

**Indentação**: Espaçamento consistente utilizado no YAML para indicar 
hierarquia e aninhamento de opções, crucial para o funcionamento 
correto dos metadados.

**Issue**: Funcionalidade do GitHub para rastrear tarefas, melhorias, 
bugs e outras questões relacionadas a um projeto.



## K 

**knitr**: Pacote R responsável por executar o código R em documentos 
Quarto, transformando (ou renderizando) o arquivo .qmd em um arquivo 
markdown intermediário (.md).



## L 

**Linguagem de Marcação**: Sistema de anotações inseridas em um 
texto para definir como ele deve ser estruturado, formatado ou 
apresentado. Ao contrário das linguagens de programação que executam 
comandos, as linguagens de marcação utilizam tags ou comandos para 
identificar elementos do documento (como títulos, parágrafos, 
listas) sem se preocupar com a lógica computacional. Exemplos 
incluem HTML (para páginas web), XML (para dados estruturados), 
LaTeX (para documentos científicos) e Markdown (usada no Quarto 
para formatação simplificada de texto).



## M 

**Main**: Branch principal de um repositório Git (anteriormente 
chamado de "master").

**Markdown**: Linguagem de marcação leve usada para formatar textos 
nos documentos Quarto, permitindo cabeçalhos, listas, negrito, 
itálico, links, entre outros elementos.

**Metadados**: Informações sobre o documento (como título, autor, 
data, formato) definidas no cabeçalho YAML de um arquivo quarto.



## O 

**Origin**: Nome padrão dado ao repositório remoto (normalmente no 
GitHub) a partir do qual um repositório local foi clonado.



## P 

**Pacote**: Coleção de funções, dados e documentação que estende 
as funcionalidades da linguagem R.

**Painel** (*Pane*): Áreas da interface do RStudio que contêm 
diferentes ferramentas, como editor, console, ambiente, etc.

**Pandoc**: Ferramenta universal de conversão de documentos que 
o Quarto utiliza para transformar arquivos markdown em formatos 
finais como HTML, PDF e DOCX.

**Projeto RStudio**: Sistema que organiza arquivos relacionados a 
uma análise específica em uma estrutura coerente, facilitando a 
organização e reprodutibilidade.

**Pull**: Ação de baixar as alterações do repositório remoto (GitHub) 
para o repositório local, atualizando-o.

**Push**: Ação de enviar commits do repositório local para o 
repositório remoto (GitHub).

**Publicação Técnica e Científica**: Processo de criar e disseminar 
documentos com conteúdo acadêmico ou técnico, seguindo padrões 
estabelecidos de formatação e referenciação.



## Q 

**QMD**: Extensão de arquivo (.qmd) específica dos documentos Quarto, 
que contém texto em Markdown, células de código e metadados YAML.

**Quarto**: Sistema de publicação científica e técnica de código 
aberto que permite combinar código, texto narrativo, equações e 
visualizações em um único documento. Sucessor do R Markdown.



## R 

**R**: Linguagem de programação especializada em análise estatística e 
visualização de dados.

**Referência Cruzada**: Recurso que permite fazer referência a elementos 
como figuras, tabelas e seções em qualquer parte do documento usando 
identificadores únicos.

**Render**: Processo de transformar um arquivo Quarto (.qmd) em seu 
formato final (HTML, PDF, etc.), executando código e formatando o 
conteúdo conforme as especificações.

**Repositório**: Coleção de arquivos e pastas de um projeto, junto 
com o histórico completo de alterações.

**Repositório Local**: Versão do repositório armazenada no seu 
computador.

**Repositório Remoto**: Versão do repositório armazenada em um 
servidor (como o GitHub).

**Reprodutibilidade**: Princípio que permite que outros pesquisadores 
e profissionais possam replicar exatamente os mesmos resultados 
utilizando os mesmos dados e códigos. No contexto corporativo, garante 
a auditabilidade de análises, facilita a transferência de conhecimento 
entre equipes, permite verificação de resultados por diferentes 
stakeholders e assegura a continuidade de projetos mesmo com 
mudanças de pessoal.



## S 

**Stage/Staging Area**: Área intermediária onde as alterações são 
adicionadas (via `git add`) antes de serem definitivamente salvas 
em um commit.



## T 

**Terminal**: Interface de linha de comando onde os comandos Git 
são executados.

**TOC** (*Table of Contents*): Sumário ou índice automático gerado 
pelo Quarto com base na estrutura de títulos e subtítulos do documento.

**Typst**: Sistema moderno de tipografia utilizado pelo Quarto como 
alternativa ao LaTeX para produzir documentos PDF com alta qualidade 
tipográfica.



## W 

**warning**: Opção de célula de código que controla se os avisos 
gerados durante a execução do código são exibidos (true) ou ocultados 
(false) no documento quarto final.

**Working Directory**: Diretório local onde os arquivos do projeto 
estão sendo editados ativamente.



## Y 

**YAML** (*Yet Another Markup Language*): Linguagem de serialização 
de dados legível por humanos usada para os metadados de documentos 
Quarto, caracterizada pelo formato de pares chave-valor e indentação 
significativa.

README.md = “Diária de bordo”

Como manter seu README atualizado

  • Atualize o README.md à medida que desenvolve novos projetos na disciplina
  • Utilize este documento como um “diário de bordo” do seu aprendizado
  • Adicione detalhes sobre desafios superados e soluções encontradas

Guia de Consulta Rápida (Resumão)

Introdução ao Sistema de Publicação Quarto

O que é o sistema de publicação Quarto?

Definição

  • É um sistema de publicação científica e técnica de código aberto que une texto narrativo e código para produzir documentos elegantemente formatados.

  • Com o Quarto, você pode criar diversos produtos:

    • Relatórios (html, pdf, docx )
    • Apresentações (RevealJS, Beamer,…)
    • Dashboards, websites, blogs e livros

O que é o sistema de publicação Quarto?

Figura 1: Sistema Quarto: um formato, diversos produtos.

Como funciona o Quarto?

Figura 2: Funcionamento do Sistema Quarto com a linguagem R.

Definição

  • Quando você renderiza um arquivo Quarto (que possui a extensão .qmd) contendo código R, primeiro o pacote knitr da linguagem R executa todas as células de código R e cria um novo arquivo markdown (.md), que inclui o código e sua saída.

  • O arquivo markdown gerado é então processado pelo programa pandoc, que gera o formato escolhido.

  • O botão Render do Rstudio encapsula essas ações e as executa na ordem correta para você.

Sistema Quarto e RStudio

Integração com RStudio

No RStudio, você pode criar e editar arquivos Quarto facilmente:

  • File → New File → Quarto Document/Presentation
  • Botão “Render” para renderizar o arquivo.

Por que usar o sistema Quarto?

Principais benefícios

  • Reprodutibilidade: Documenta todo o processo de análise de dados, garantindo que seu trabalho possa ser reproduzido.

  • Integração de código e narrativa: Combina texto explicativo, código e resultados em um único documento.

  • Múltiplos formatos de saída: Gera diferentes formatos (html, pdf, docs, apresentações) a partir do mesmo arquivo fonte.

  • Atualizações automáticas: Ao modificar dados ou código, basta renderizar o documento para atualizar todos os resultados.

Anatomia de um Arquivo Quarto

Anatomia de um Arquivo Quarto

Nota

Um arquivo Quarto (.qmd) consiste de três elementos fundamentais:

  1. Metadados (YAML): Controla o formato e opções do documento
  2. Texto em Markdown: O conteúdo narrativo do documento
  3. Células de Código: Código executável com suas opções

Metadados (YAML)

---
title: "Análise de Vendas"
author: "Seu Nome"
format: 
  html:
    toc: true
    theme: cosmo
execute:
  echo: true
  warning: false
---

Atenção à indentação!

  • A sintaxe YAML é sensível à indentação
  • Use sempre 2 espaços para aninhar elementos
  • Erros de indentação são a causa mais comum de problemas

Texto em Markdown

Código Markdown:

# Título da seção

Este é um parágrafo com **texto em negrito** e *itálico*.

- Item da lista
- Outro item
  - Subitem

[Link para tutorial](https://website.com)

Tutorial completo

Acesse o tutorial sobre Markdown para mais detalhes.

Células de Código

Exemplo de célula de código R básica:

```{r}
x <- 1:10
mean(x)
```

Como inserir células de código quarto no RStudio?

Você pode adicionar uma célula de código de três maneiras:

  1. Usando o atalho de teclado: Ctrl+Alt+I (Windows/Linux) ou Cmd+Option+I (Mac).

  2. Clicando no ícone CInsert a new code chunk” na barra superior de ferramentas do RStudio e selecionando “R”.

  3. Digitando manualmente os delimitadores de célula: ```{r} e `````.

Células de Código

Exemplo de célula de código R com opções:

```{r}
#| echo: true
#| warning: false
#| message: false

# Esta célula mostrará o código (echo: true), 
# mas ocultará avisos (warning) e mensagens
library(dplyr)
mtcars %>% 
  group_by(cyl) %>%
  summarise(
    n = n(),
    mpg_média = mean(mpg, na.rm = TRUE)
  )
```

Figura com legenda

```{r}
#| label: fig-1
#| fig-cap: "Gráfico de dispersão entre qualidade e fornecedor."

# Boxplot da qualidade por fornecedor de malte

ggplot(dados_destilaria_limpos, aes(x = fornecedor_malte, y = indicador_qualidade)) +
  # Cria boxplots para representar a distribuição dos dados
  geom_boxplot() +
  # Aplica um tema minimalista para melhor visualização
  theme_minimal() +
  # Define títulos e rótulos dos eixos
  labs(title = "Qualidade do Whisky por Fornecedor de Malte",
       x = "Fornecedor",
       y = "Pontuação de Qualidade")
```

Opções comuns para células de código

Opção Descrição Exemplo
echo Mostrar o código? #| echo: true
eval Executar o código? #| eval: true
warning Mostrar avisos? #| warning: false
message Mostrar mensagens? #| message: false
label Identificador único para uma figura #| label: fig-analise
fig-cap Legenda da figura #| fig-cap: "Gráfico de dispersão"

Opções comuns para células de código

Configuração global

Defina opções de código para todo o documento no YAML:

execute:
  echo: false
  warning: false
  message: false

Demonstração no RStudio

Vamos à prática!

Agora vamos ver um documento Quarto em ação no RStudio:

  1. Como criar um novo documento Quarto
  2. Estrutura do documento
  3. Renderização para diferentes formatos
  4. Integração com Git/GitHub

Tutorial completo

Para informações detalhadas sobre o sistema Quarto, consulte o tutorial sobre Quarto

Guia de Consulta Rápida (Resumão)

Cabeçalho para Relatório pdf

---
title: "Caso Junglivet Whisky Company"
subtitle: "Introdução à CRISP-DM, RStudio, Sistema Quarto e Linguagem R"
lang: pt-BR
author: "Seu Nome"
date: 2025-04-02
date-format: long
format:
  typst:
    columns: 1
    toc: true
    papersize: a4
    fontsize: 12pt
    number-sections: true
execute:
  echo: true
  warning: false
  message: false
---

Cabeçalho para Relatório docx

---
title: "Caso Junglivet Whisky Company"
subtitle: "Introdução à CRISP-DM, RStudio, Sistema Quarto e Linguagem R"
lang: pt-BR
author: "Seu Nome"
date: 2025-04-02
format: 
  docx:
    number-sections: true
execute:
  message: false
  warning: false
  echo: true
---

Introdução ao Git e GitHub

O que é Git?

Um sistema de controle de versão

  • Um “sistema de salvamento inteligente” que registra cada versão dos seus documentos.

  • Armazena apenas as mudanças entre versões, economizando espaço.

  • Funciona como uma “máquina do tempo” para seu trabalho.

  • Facilita o trabalho em equipe sem conflitos graves.

Comandos essenciais do Git

Comandos Essenciais

Os quatro comandos básicos que você usará com mais frequência (seu fluxo de trabalho padrão no Terminal do RStudio) são:

  • git status: consulta o estado atual dos seus arquivos
  • git add: prepara as mudanças para serem salvas
  • git commit: salva as mudanças no repositório local
  • git push origin main: envia as mudanças para o GitHub

Pense nestes comandos como um processo de 4 passos:

  1. Verificar o que mudou (status).
  2. Adicionar/Selecionar o que você quer salvar (add).
  3. Salvar as mudanças localmente com uma descrição (commit).
  4. Enviar para a nuvem/GitHub (push).

O que é GitHub?

Uma plataforma colaborativa baseada em Git

  • “Nuvem para projetos Git” - armazena seus repositórios online
  • Facilita compartilhamento e colaboração em projetos
  • Oferece ferramentas para revisão de código, discussão e documentação
  • Funciona como um portfólio para profissionais e estudantes

Publicando o Projeto RStudio no GitHub

Métodos de integração

  • Vamos usar a função use_github() do pacote usethis para criar e publicar um projeto RStudio local em repositório do GitHub.

  • No Console R do Rstudio digite (ou copie e cole) o seguinte comando:

usethis::use_github()

Fluxo de trabalho com Git e GitHub

Figura 3: Fluxo de trabalho Básico

Insira no arquivo .gitignore do seu projeto

# Arquivos de sistema do Windows
Thumbs.db
Desktop.ini

# Arquivos de sistema do MacOS
.DS_Store

# Arquivos do RStudio
.Rproj.user/
.Rhistory
.RData
.Ruserdata
*.Rproj

# Arquivos temporários R
*_cache/
/cache/

# Arquivos de saída
*.pdf
*.docx

# Arquivos temporários
*~
.~lock.*
*.tmp
*.bak

Por que ignorar arquivos no Git?

Arquivos Desnecessários

  • Arquivos temporários ou gerados automaticamente

    • .Rhistory, .RData: Histórico e dados da sessão do R.
    • _cache/: Arquivos de cache que podem ser recriados.
    • .Rproj.user/: Configurações pessoais do RStudio.
  • Arquivos específicos do sistema operacional

    • Thumbs.db, .DS_Store: Arquivos de metadados do Windows/Mac.
  • Arquivos de saída/resultados

    • Documentos gerados (pdf…): São resultado do código, não o código em si.

    • Podem ser muito grandes, mudar frequentemente.

Benefícios de um bom .gitignore

Descrição

  • Repositórios mais limpos e leves

    • Menos arquivos = downloads e operações mais rápidas
    • Evita ocupar espaço com arquivos regeneráveis
  • Evita conflitos desnecessários

    • Arquivos de configuração pessoal causariam conflitos entre colaboradores
    • Arquivos binários (PDF, imagens) são difíceis de resolver em conflitos
  • Mantém o foco no que importa

    • Apenas o código-fonte e dados essenciais são versionados
    • Facilita a revisão de mudanças significativas

Boas práticas

Descrição

  • Versionando o que é importante

    • Código-fonte (arquivos .R, .py, .qmd)
    • Dados brutos (se não forem muito grandes)
    • Documentação (.md, README)
  • Ignorando o que é regenerável

    • Resultados que podem ser recriados executando o código
    • Configurações específicas do ambiente de cada usuário
    • Arquivos temporários e de cache

Sua Vez

Demonstração prática

Vamos executar um fluxo de trabalho básico com Git e publicar o projeto RStudio que você criou no GitHub usando usethis::use_github().

Recursos adicionais