3 - Importando dados para o R
O primeiro passo para importarmos um arquivo para o R é fazer com que o mesmo “enxergue” a sua pasta de trabalho.
Como perguntar qual a pasta que o R está “enxergando” no momento?
#Descobrindo qual o diretório de trabalho que o R está "enxergando" no momento
getwd()Caso não seja a pasta onde localiza-se o seu arquivo, podemos mudar
essa pasta com a função setwd.
#Modificando o diretório de trabalho que o R está "enxergando" neste momento
setwd("PASSAR AQUI O CAMINHO DA SUA PASTA SEMPRE ENTRE ASPAS")O caminho deve estar SEMPRE entre aspas e as barras devem ser invertidas (caso deseje usar a barra sem ser invertida é preciso duplicá-las).
Uma outra forma de modificarmos o diretório de trabalho é acessarmos
o menu Session \(\rightarrow\)
Set Working Directory \(\rightarrow\)
Choose Directory.
Esse problema de mudanças de diretórios de trabalho serão pequenos, uma vez que adotaremos a prática de criação de projetos.
A seguir serão apresentados alguns pacotes para a importação de dados para o R.
3.1 - Pacote readr
Um pacote cujo objetivo é propiciar de modo rápido e amigável a importação de dados retangulares (como .txt, .csv, .tsv, .fwd).
As principais funções deste pacote para importação de dados são:
read_table- importa arquivos em que as colunas são separadas por um ou mais espaços em branco.read_csv- importa aquivos delimitados por vírgula.read_csv2- importa arquivos separados por semicolunas (comum em países que usam a “,” como separador decimal)read_tsv- importa arquivos separados por tabs.read_delim-read_csveread_tsvsão casos particulares desta função. Ela te permite mais flexibilidade na importação de arquivos.
A seguir, vamos apresentar os principais argumentos da função
read_delim:
file- o arquivo a ser importado;delim- o caracter usado para separar as variáveis;col_names- um argumento lógico indicando se o arquivo possui ou não os nomes das variáveis (default = TRUE);na- qual a codificação usada para dado faltante (default = NA);skip- número de linhas a serem puladas no momento da importação (default = 0);locale- controla vários aspectos como decimal, enconding, entre outros.
Crie um projeto chamado Analise Seguro! Crie um script no projeto com o nome Script Analise.
Após especificarmos a pasta de trabalho, precisamos ativar o pacote
readr e utilizarmos a função read_delim como a
seguir.
#Ativando o pacote readr
library(readr)
#Importando o arquivo seguro saude.txt
base = read_delim(file = "seguro saude.txt")
#Visualizando o arquivo
base## Rows: 1338 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: " "
## chr (1): fumante
## dbl (4): idade, sexo, num_dep, regiao
## num (2): imc, cobrancas
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
## # A tibble: 1,338 × 7
## idade sexo imc num_dep fumante regiao cobrancas
## <dbl> <dbl> <dbl> <dbl> <chr> <dbl> <dbl>
## 1 19 1 99999 0 Sim 4 16884924
## 2 18 2 3377 1 Não 3 17255523
## 3 28 2 33 3 Não 3 4449462
## 4 33 2 22705 0 Não 2 2198447061
## 5 32 2 2888 0 Não 2 38668552
## 6 31 1 2574 0 Não 3 37566216
## 7 46 1 3344 1 Não 3 82405896
## 8 37 1 2774 3 Não 2 72815056
## 9 37 2 2983 2 Não 1 64064107
## 10 60 1 2584 0 Não 2 2892313692
## # … with 1,328 more rows
Ao usarmos as funções do pacote readr para importarmos
um arquivo, a primeira coisa que percebemos é que são apresentadas a
forma como cada variável foi coletada. Ao pedirmos para visualizarmos o
objeto, percebemos que sua classe é um tibble.
A importação foi realizada de maneira correta?
Avaliem a variável imc e cobrancas no arquivo original. O que tem de diferente dos valores apresentados na tela do R?
Claramente o arquivo acima apresenta problemas na importação, pois o indivíduo 1 apresenta IMC de 99999 e o indivíduo 2 de 3377.
Precisamos alimentar a função com toda informação necesária para que ela faça a importação de forma adequada. O arquivo possui as seguintes características:
- possui extensão .txt,
- 99999 foi usado como código para dado faltante,
- , é o indicador de decimal.
#Importando o arquivo seguro saude.txt
base = read_delim(file = "seguro saude.txt", #nome do arquivo com extensão entre aspas
na = "99999", #código usado para indicar dado faltante
locale = locale(decimal_mark = ",") #função que controla aspectos do arquivo como o decimal
#Visualizando o arquivo
base## Rows: 1338 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: " "
## chr (1): fumante
## dbl (6): idade, sexo, imc, num_dep, regiao, cobrancas
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
## # A tibble: 1,338 × 7
## idade sexo imc num_dep fumante regiao cobrancas
## <dbl> <dbl> <dbl> <dbl> <chr> <dbl> <dbl>
## 1 19 1 NA 0 Sim 4 16885.
## 2 18 2 33.8 1 Não 3 1726.
## 3 28 2 33 3 Não 3 4449.
## 4 33 2 22.7 0 Não 2 21984.
## 5 32 2 28.9 0 Não 2 3867.
## 6 31 1 25.7 0 Não 3 3757.
## 7 46 1 33.4 1 Não 3 8241.
## 8 37 1 27.7 3 Não 2 7282.
## 9 37 2 29.8 2 Não 1 6406.
## 10 60 1 25.8 0 Não 2 28923.
## # … with 1,328 more rows