O documento discute a importação de dados no R de diferentes formatos como arquivos CSV, tabelas de largura fixa, planilhas do Excel e bancos de dados SQL. Ele explica funções do pacote readr para ler arquivos CSV de forma eficiente, funções do pacote microdadosBrasil para ler tabelas do governo brasileiro e funções do pacote DBI para conexão e queries em bancos SQL.
O documento discute a importação de dados no R de diferentes formatos como arquivos CSV, tabelas de largura fixa, planilhas do Excel e bancos de dados SQL. Ele explica funções do pacote readr para ler arquivos CSV de forma eficiente, funções do pacote microdadosBrasil para ler tabelas do governo brasileiro e funções do pacote DBI para conexão e queries em bancos SQL.
O documento discute a importação de dados no R de diferentes formatos como arquivos CSV, tabelas de largura fixa, planilhas do Excel e bancos de dados SQL. Ele explica funções do pacote readr para ler arquivos CSV de forma eficiente, funções do pacote microdadosBrasil para ler tabelas do governo brasileiro e funções do pacote DBI para conexão e queries em bancos SQL.
O documento discute a importação de dados no R de diferentes formatos como arquivos CSV, tabelas de largura fixa, planilhas do Excel e bancos de dados SQL. Ele explica funções do pacote readr para ler arquivos CSV de forma eficiente, funções do pacote microdadosBrasil para ler tabelas do governo brasileiro e funções do pacote DBI para conexão e queries em bancos SQL.
Baixe no formato PDF, TXT ou leia online no Scribd
Fazer download em pdf ou txt
Você está na página 1de 23
Aula 2
Importação de Dados Introdução
Data Frames são a estrutura de dados mais usual do R, porém
criar grandes bancos de dados a partir da função não é prático. Assim, existem algumas funções no R que permitem a importação de arquivos tabulados, ou de largura fixa. Revisão
A função base mais genérica para importar tabelas no R é o
read.table(). Esta função possui alguns argumentos importantes:
I file: que deve conter o endereço do arquivo que será lido.
*header: Argumento lógico que diz se o arquivo importado tem ou
não nomes de coluna. Caso header = TRUE a função irá considerar que a primeira linha do arquivo contém os nomes das colunas. O default é FALSE.
I sep: É o argumento que fala qual caracter está separando as
colunas. O default é um espaço. Revisão
Dentre todos os tipos de separadores, o mais usado para a leitura
são os arquivos csv, por isso as funções mais usadas para importação são read.csv() e read.csv2(). A única diferença entre essas duas funções é o separador padrão, na primeira função o separador é “,” e na segunda é “;”. Pacotes
Infelizmente, nem todos os arquivos que se precisa ler estão em csv
e saber todos os tipos de tabuladores não é prático. Para isso, o R possui pacotes que já foram feitos com o intuito de ler esses arquivos com tabulação não usual. readr
Para grandes bancos de dados, o processamento dessas funções é
muito lento. Para melhorar esse problema, foi implementado o pacote readr que otmiza as funções de leitura base do R. As funções read.csv() e read.csv2() têm basicamente a mesma sintaxe, mas nesse pacote o nome das funções são read_csv() e read_csv2(). readr
Fixed width file ou arquivo de largura fixa, é um dos tipos mais
comuns de arquivos nos banco de dados do governo brasileiro, esse tipo de arquivo consiste em não possuir separadores e sua leitura é feita a partir de posições informadas pelo usuário.
I Sintaxe: read_fwf(file, col_positions)
read_fwf
I file: é o endereço do arquivo.
I col_positions: esse argumento é suprido pelo uso das funções fwf_width() e fwf_positions(), na primeira função deve ser colocado um vetor com o comprimento de cada coluna e na segunda existem dois argumentos de tamanho, o primeiro indicando em que posição começa a coluna e o segundo indicando onde termina. Em ambas as funções existe um terceiro parâmetro para colocar um vetor com o nome das colunas. devtools
Alguns pacotes não estão disponíveis no CRAN e para usá-los,
deve-se instalar o pacote devtools. Neste pacote existe a função install_github(). O argumento obrigatório deve ser o nome do repositório que é definido por: “usuario/repositiorio”. Exercício:
1. Instale o pacote devtools e em seguida o pacote
microdadosBrasil.(Dica: o segundo deve ser instalado através do install_github onde o usuário é lucasmation e o repositório microdadosBrasil) microdadosBrasil
Pela grande complexidade em ler as bases brasileiras em formato
fwf, foi criado um pacote, para realizar a leitura desses microdados, chamado de microdadosBrasil. Mais informações sobre o pacote visite: microdadosBrasil microdadosBrasil
Funções usuais do pacote:
I download_sourceDATA(): função para download dos bancos,
possui 3 argumentos, dataset que contém o nome do banco desejado, i é o ano de referência do banco e unzip é um argumento lógico que diz se o arquivo deveria ser dezipado ou não. I read_PNAD(): função para ler a PNAD, tem os argumentos ft(diz se é base de pessoas ou família), i é o ano de referência, root_path é o argumento que indica o endereço do arquivo caso tenha sido baixado fora do pacotes e nrows indica a quantidade de linhas a serem lidas. Exercícios
1. Com o pacote readr leia o dicionário da PNAD, lembre-se de
usar o stringAsFactor = F. 2. Com esse dicionário, use a função read_fwf() para ler o arquivo no endereço “bancos/AMOSTRA_DF_PNAD2009p.txt”. Crie o col_positions através da função fwf_widths, onde o argumento widths é igual a coluna tamanho2 do dicionário lido no exercício anterior. 3. Agora leia o mesmo arquivo através da função read_PNAD do microdadosBrasil. Use file = “bancos/AMOSTRA_DF_PNAD2009p.txt” e preencha os argumentos ft e i corretamente. readxl
Planilhas em excel não possuem tabulações simples, além disso um
arquivo excel pode estar separado em várias planilhas e no R base, não existe nenhuma forma de lidar com esse tipo de dados. Para isso foi criado o pacote readxl. readxl
O pacote possui 2 funções principais, que serão explicadas aqui:
I excel_sheets(): esta função retorna o nome de cada
planilha dentro de um documento xls. Possui apenas um argumento (path) que indica o endereço do pacote. I read_excel(): função para ler planilhas separadas de excel. Requer parâmetros path que indica o caminho até o arquivo e sheet indica o nome da planilha ser lida dentro do documento excel. Outros argumentos podem ser lidos aqui Exercício
1. Quais os nomes das planilhas presentes no documento que
está no endereço “bancos/datasets.xls”? 2. Leia a terceira planilha desse documento. 3. (DESAFIO) Crie um loop com lapply para ler todas as planilhas de uma só vez. foreign
O pacote foreign foi criado com o intuito de importar arquivos
salvos de outros softwares estatísticos, tais como SAS, STATA e SPSS. Para essa leitura, são usadas as seguintes funções:
I read.spss(): função que importa dados do SPSS, possui
apenas um argumento obrigatório, file, contém o endereço do arquivo. I read.dta(): função para importar dados do STATA, mesmo argumento obrigatório que a função anterior. I read.xport(): função para importar dados de uma library do SAS, tem apenas um argumento que é o mesmo que o obrigatório dos anteriores. Atenção para o retorno, pode ser uma lista de data.frame’s Exercício:
1. Leia o arquivo “electric.sav” presente na pasta bancos. Dado
que arquivos .sav são arquivos com extensão de SPSS, use a função correspondente. Conexão SQL
Como foi mostrado, o R tem diversas formas de ler arquivos. Um
dos mais importantes para usuários do dplyr é o SQL. Para esse tipo de arquivo, o tidyverse tem um pacote específico para interface de banco de dados, o DBI. DBI
O DBI tem diversas funções, para os mais variados tipos de
conexões. Neste curso, irá ser abordadas algumas funções para efetuar a conexão com um driver SQL, fazer queries e transformar a tabela em um objeto R. DBI
I dbConnect: Função para criar conexão com algum driver de
SQL. Para cada tipo de driver existe um pacote para criá-lo. Aqui será usado o SQLite. Seus argumentos são, drv que é onde o driver será criado e dbname onde fica o caminho até o arquivo “.db” ou “.sqlite”.
Sintaxe: conn <- dbConnect(drv, dbname)
Exercício:
1. Instale o pacote RSQLite.
DBI I dbListTables(): Lista o nome das tabelas presentes dentro do arquivo “.db” e “.sqlite”. Possui apenas o argumento conn com o nome da conexão criada pela função anterior.
Sintaxe: dbListTables(conn)
I dbGetQuery(): Executa os queries. Possui dois argumentos,
conn com a conexão e statement com o query a ser executado. Esse comando devolve um objeto em R pronto para ser trabalhado
Sintaxe: dbGetQuery(conn, statement)
I dbDisconnect(): As conexões devem sempre ser fechadas.
Possui um argumento obrigatório conn com o nome da conexão.
Sintaxe: dbDisconnect(conn) DBI
Exercícios:
2. Crie uma conexão com o arquivo “chinook.db” presente na
pasta bancos. 3. Liste o nome das tabelas presentes nessa conexão. Armazene o resultado no objeto tabelas.vec 4. Crie uma Query que selecione todas as linhas da tabela que está na última posição do vetor tabelas.vec. 5. Qual o número de músicas para cada tipo de gênero?