R para ciência de dados
Principais conceitos de importação e manipulação de dados
1 Introdução
A ciência de dados é um campo vasto, e não é possível dominá-la lendo apenas um único livro. Este material tem como objetivo fornecer uma base sólida nas ferramentas mais importantes e conhecimento suficiente para que você possa encontrar os recursos necessários para aprender mais quando for preciso.
O nosso modelo das etapas de um projeto típico de ciência de dados se parece com a Figura 1. Neste modelo, você começa com a importação e organização dos dados. Em seguida, você entende seus dados por meio de um ciclo iterativo de transformação, visualização e modelagem. Você finaliza o ciclo comunicando seus resultados para outras pessoas.
Este documento focará nas etapas iniciais e cruciais desse processo: Importação e Manipulação (Organização) de Dados no R.
A Importância da Importação: Primeiro, você deve importar seus dados para o R. Isso geralmente significa que você pega dados armazenados em um arquivo, um banco de dados ou uma API (interface de programação de aplicação) e importa-os em uma tabela (data frame) no R.
A Importância da Organização: Depois de importar seus dados, é uma boa ideia organizá-los. Organizar seus dados significa armazená-los em uma forma consistente que corresponda à semântica do conjunto de dados com a forma como ele é armazenado.
2 Importação e Manipulação de dados
2.1 Importação de Dados
A primeira etapa crucial em um projeto de ciência de dados é a Importação de Dados. Isso significa trazer os dados armazenados em fontes externas (como arquivos, bancos de dados ou APIs) para um objeto manipulável no R, tipicamente um data frame. O R possui diversos pacotes e funções para lidar com diferentes formatos de arquivos.
2.1.1 read_xlsx()
A função read_xlsx() é proveniente do pacote readxl e é utilizada para importar dados de arquivos Microsoft Excel no formato .xlsx. O argumento sheet permite escolher qual aba importar, sendo o uso do nome da aba mais robusto do que o número.
Argumento fundamental: path. Especifica o caminho e o nome do arquivo Excel. Caso esteja trabalhando com um projeto o diretório não precisa ser especificado, somente o nome do arquivo. Abaixo são apresentados alguns exemplos.
>Exemplo de Código (Importando de Excel):
# Importa a aba 1 (Janeiro)
voos_de_janeiro <- read_xlsx(path = 'voos_trimestre.xlsx',
sheet = 1)
# Importa a aba 2 (Fevereiro)
voos_de_fevereiro <- read_xlsx(path = 'voos_trimestre.xlsx',
sheet = 2)
# Importa a aba pelo seu nome (prática recomendada)
voos_de_marco <- read_xlsx(path = 'voos_trimestre.xlsx',
sheet = 'voos_de_marco')2.1.2 read_delim()
A função read_delim() é proveniente do pacote readr e é usada para importar arquivos de texto delimitados como CSV, permitindo a especificação explícita do delimitador.
Argumentos essenciais: file. Especifica o caminho e o nome do arquivo. delim define o caractere delimitador.
2.1.3 read_sheet()
A função read_sheet() é proveninete do pacote googlesheets4 permite a importação direta de planilhas do Google Sheets.
Argumento fundamental: ss. Usado para identificar a planilha do Google Sheets (URL do Documento).
2.2 Resumo dos Argumentos de Importação
| Argumento | Função Associada | Descrição |
|---|---|---|
| path | read_xlsx() | Caminho e nome do arquivo Excel (.xlsx). |
| file | read_delim() | Caminho e nome do arquivo de texto (ex: .csv). |
| delim | read_delim() | Caractere delimitador que separa as colunas (ex: ‘;’ ou ‘,’). |
| ss | read_sheet() | URL da planilha do Google Sheets. |
2.3 Funções rbind() e cbind()
rbind(): Funções que empilha linhas de diferentes tabelas.
cbind(): Funções que empilha lateralmente as tabelas (adicionando colunas).
2.4 Estrutura e Dimensões dos Dados
Funções essenciais para obter uma noção geral da amostra de dados.
2.4.1 Dimensões
2.4.2 Visualização e Estrutura
#Exibe as primeiras informações (linhas) da tabela.
head()
head(voos_trimestre)
# Exibe as últimas informações (linhas) da tabela.
tail()
tail(voos_trimestre)
# Exibe a estrutura interna do objeto e o tipo de dados das variáveis.
str()
str(voos_trimestre)Exportar para as Planilhas
2.5 Seleção e Subconjuntos
A seleção de subconjuntos permite isolar elementos específicos da tabela, usando a sintaxe objeto[linhas, colunas].
2.5.1 Seleção por Índice (Posição)
Exemplo de Código (Seleção por Índice):
# Selecionando o primeiro valor da quinta coluna
voos_trimestre[1,5]
# Selecionando os 3 primeiros valores da quinta coluna
voos_trimestre[c(1,2,3), 5]
# Selecionando os 5 primeiros valores das colunas 5 à 8
voos_trimestre[1:5, 5:8]
# Selecionando todos os valores da coluna 5
voos_trimestre[,5] 2.6 Funções Estatísticas Básicas
Funções prontas para obter estatísticas descritivas de vetores numéricos.
#Menor valor da amostra.
min()
min(voos_trimestre$distancia)
#Maior valor da amostra.
max()
max(voos_trimestre$distancia)
#Média de valores da amostra.
mean()
mean(voos_trimestre$distancia)
#Desvio padrão da amostra.
sd()
sd(voos_trimestre$distancia)
#Mediana de valores da amostra.
median()
median(voos_trimestre$distancia)
#Arredonda valores.
round()
round(mean(voos_trimestre$distancia), digits = 2)2.7 Comparações Lógicas
Operadores que resultam em um valor lógico (TRUE ou FALSE), essenciais para filtrar dados.
2.7.1 Funções de Classe e Data
class(): Retorna a classe ou tipo do objeto.
Sys.Date(): Retorna a data atual do sistema.
Resultados
## [1] "numeric"
## [1] "character"
## [1] "2025-10-29"
## [1] "Date"
## [1] "logical"
2.7.2 Operadores de Comparação
Operadores e
- Maior que '>'
x > 10
- Menor que '<'
x < 10
- Igual a '==', Operador lógico, não usado para atribuição de valor a variável.
x == 10
- Diferente de '!='
x != 10
- Maior ou igual que '>='
x >= 10
- Menor ou igual que '<='
x <= 10
- Está contido em um vetor '%in%'
x %in% c(9,10,11)
- Negação (NOT) '!'
!TRUE2.7.2.1 Filtragem Lógica
O resultado de uma comparação é usado dentro dos colchetes para selecionar as linhas que satisfazem a condição.
2.8 Operadores Compostos
Permitem combinar múltiplas condições lógicas.
2.8.1 Regra do E (&)
Retorna TRUE apenas se todas as condições forem verdadeiras.