[1] 100
R: o básicoTreinamento em R
Vamos aprender a usar a linguagem de programação R!
Usando dados administrativos familiares às administrações tributárias.
Alguns pré-requisitos
❌ O treinamento não requer nenhum conhecimento prévio em programação estatística.
✅ É necessário um computador com R e RStudio instalados para completar os exercícios.
✅ Conexão à internet é necessária para baixar os materiais do treinamento.
R?R é uma linguagem de programação com poderosas capacidades estatísticas e gráficas.


R?R é muito flexível e poderoso—adaptável a quase qualquer tarefa, (limpeza de dados, visualização de dados, econometria, análise de dados espaciais, machine learning, web scraping, etc.)R é código aberto e gratuito - permitindo que você e sua instituição economizem dinheiro!R tem crescido rapidamente em popularidade.
R oferece uma ótima interface - RStudio.
Excel?✅ Fácil de usar.
❌ Só é bom para conjuntos de dados pequenos.
❌ Não mantemos registro do que fazemos.
❌ Não é simples para mesclar dados.
❌ E a lista continua…

STATA?✅ Stata é amplamente usado em economia.
✅ Fácil de aprender.
❌ Só é bom para conjuntos de dados pequenos.
❌ Caro!
❌ Falta de flexibilidade… você também odeia keep, preserve e restore?

Se não vê, certifique-se de que abriu o RStudio e não o R!
Vamos começar escrevendo seus scripts R (código-fonte) no painel Source.
Você pode usar a barra de menu ou Ctrl + Shift + N para criar novos scripts R.
Scripts nos ajudam a documentar e organizar os passos que queremos realizar.
Para executar um comando, digite-o no painel Source e pressione Ctrl+Enter (Windows) para executá-lo no Console.
O resultado aparecerá no painel Console (painel inferior esquerdo).
O painel Environment exibe todos os objetos que você criou durante sua sessão.
Uma soma simples:
Subtração, multiplicação, divisão:
Em vez de apenas calcular, podemos salvar resultados para uso posterior.
Agora podemos usar vat_amount em outros cálculos:
_) - isso é chamado snake_caseUse # para adicionar comentários - R irá ignorar tudo após #
[1] 52500
Dica
Boa prática: Comente seu código para explicar POR QUE você está fazendo algo, não apenas O QUE você está fazendo.
Uma função é um pedaço de código reutilizável que executa uma tarefa específica.
Pense nas funções como ferramentas em uma caixa de ferramentas:
sum() - soma númerosmean() - calcula a médiasqrt() - calcula a raiz quadradaround() - arredonda números[1] 600
[1] 30
[1] 3.14
Nota
Argumentos são as entradas que você fornece para uma função. Algumas funções têm argumentos obrigatórios, outras têm argumentos opcionais com valores padrão.
Não tem certeza de como uma função funciona? Use help() ou ?:
A documentação de ajuda mostrará:
Dica
Sempre consulte a documentação de ajuda quando estiver aprendendo uma nova função!
[1] 342000
[1] 68400
[1] 75000
[1] 45000
[1] 90000
[1] 5
Experimente estes exercícios você mesmo:
# 1. Crie um vetor de 5 valores de IVA de sua escolha
meus_valores_iva = c(30000, 55000, 42000, 68000, 51000)
# 2. Calcule a receita total de IVA
sum(meus_valores_iva)
# 3. Calcule o pagamento médio de IVA
mean(meus_valores_iva)
# 4. Arredonde a média para o inteiro mais próximo
round(mean(meus_valores_iva))Em R, os dados vêm em diferentes tipos (ou classes):
Use a função class() para verificar que tipo de dado você tem:
[1] "numeric"
[1] "character"
[1] "logical"
Por que isso importa?
Às vezes você precisa converter entre tipos:
[1] "12345"
[1] 200
Um vetor é uma sequência de valores do mesmo tipo.
Pense em um vetor como uma coluna em uma planilha:
A matemática funciona em vetores inteiros:
[1] 55000 82500 99000 49500 90200
[1] 49000 74000 89000 44000 81000
[1] 10000 15000 20000 10000 17000
Atalhos para criar vetores:
[1] 2020 2021 2022 2023 2024 2025
[1] 0.10 0.12 0.14 0.16 0.18 0.20
[1] "Pequeno" "Pequeno" "Pequeno" "Pequeno" "Pequeno"
Use colchetes [ ] para acessar elementos específicos:
[1] 50000
[1] 90000
[1] 50000 90000 82000
[1] 75000 90000 45000
Nota
Importante: A indexação em R começa em 1 (não em 0 como em algumas outras linguagens)!
Você pode dar nomes aos elementos do vetor:
Comparações retornam valores lógicos (TRUE ou FALSE):
As comparações funcionam elemento por elemento:
Combine múltiplas condições:
[1] FALSE TRUE FALSE FALSE TRUE
[1] FALSE FALSE TRUE TRUE FALSE
[1] TRUE FALSE FALSE TRUE FALSE
Encontrar elementos que atendem a uma condição:
[1] FALSE TRUE TRUE FALSE TRUE
Use vetores lógicos para filtrar:
Nos dados reais de administração tributária, valores ausentes são comuns:
Matemática com NA retorna NA!
Aviso
Qualquer cálculo envolvendo NA retornará NA a menos que você o manipule explicitamente!
na.rmA maioria das funções estatísticas tem um argumento na.rm (remover NA):
[1] 68400
[1] 342000
[1] 90000
Dica
Sempre verifique seus dados para valores ausentes e decida como lidar com eles!
[1] 50000 75000 90000 45000 82000
Exemplo prático: Taxa de conformidade
Taxa de Conformidade: 71.4 %
[1] "FIRM_3" "FIRM_6"
10:00 Parte 1: Objetos e Cálculos
base_amount com valor 125000tax_rate com valor 0.15 (15%)tax_owedtax_owed e armazene em total_paymentParte 2: Usando Funções
total_payment para o inteiro mais próximobase_amountabs() para obter o valor absoluto de -500010:00 Parte 1: Criando Vetores
firm_ids: “FIRM_001” até “FIRM_006” (use paste0() e 1:6)vat_amounts: 50000, 75000, NA, 90000, 45000, NAyears: 2020 a 2025 usando :standard_rate: repita 0.15 seis vezes usando rep()Parte 2: Operações com Vetores
vat_amounts por 1.05 para adicionar multa de 5%Parte 3: Indexação
Parte 4: Dados Ausentes
# Parte 1: Criando Vetores
firm_ids = paste0("FIRM_", sprintf("%03d", 1:6))
vat_amounts = c(50000, 75000, NA, 90000, 45000, NA)
years = 2020:2025
standard_rate = rep(0.15, times = 6)
# Parte 2: Operações com Vetores
mean(vat_amounts, na.rm = TRUE)
sum(vat_amounts, na.rm = TRUE)
vat_amounts * 1.05
# Parte 3: Indexação
vat_amounts[3]
vat_amounts[c(2, 4, 5)]
vat_amounts[vat_amounts > 60000 & !is.na(vat_amounts)]
# Parte 4: Dados Ausentes
sum(is.na(vat_amounts))
is.na(vat_amounts)
firm_ids[is.na(vat_amounts)]Pacotes R são coleções de funções criadas pela comunidade.
Pense no R base como um smartphone, e pacotes como aplicativos que você instala!
Dois passos para usar um pacote:
install.packages("nomeDoPacote")library(nomeDoPacote)Nota
Pense nisso assim:
Alguns pacotes que você usará neste curso:
dplyr - Manipulação e transformação de dados
ggplot2 - Criação de visualizações profissionais
readr / readxl - Leitura de arquivos CSV e Excel
data.table - Operações rápidas em grandes conjuntos de dados
lubridate - Trabalhando com datas
Dica
Aprenderemos esses pacotes nos módulos seguintes!
Sempre salve seu trabalho em scripts - não apenas no console!
Funções são suas amigas - use help() quando não tiver certeza
Vetores estão em toda parte - eles são a base dos dados em R
Manipule NAs explicitamente - use na.rm = TRUE em cálculos
Comente seu código - seu eu futuro agradecerá!