Uma tarefa importante na rotina de análise de dados no R é a importação adequada de nossos dados para o ambiente de trabalho. Essa etapa pode ser simples, mas também pode exigir a definição de alguns parâmetros mais específicos que podem depender do banco, ou do sistema operacional.
Para toda tarefa de importação é importante definirmos o caminho dos arquivos, ou seja, o local no computador onde estão os dados. Podemos especificar esse caminho de duas formas:
C:/Usuarios/...
(Windows), ou home/usuario/...
(Linux), ou seja, especificam a localização desde as partições mais
básicas. Contudo, não recomenda-se a utilização de caminhos absolutos
pois serão sempre dependentes da sua máquina e sua
organização, ou seja, o código não fica
reprodutível.getwd()
:## [1] "/home/joao/Documents/DOEPI/monitoria-livro-R"
Ou seja, se você quiser acessar um arquivo que está na mesma pasta que seu local de trabalho, basta utilizar o nome do arquivo.
De forma complementar, podemos alterar o ambiente de trabalho com a
função setwd()
:
# mudando o diretório para a pasta "IntroEpi24":
setwd("/home/joaomorais/Documentos/Outros/IntroEpi24/")
A partir daí, o R enxergará naturalmente todos os arquivos dentro dessa pasta.
Uma forma de verificar o que o R está “enxergando” é através do
comando dir()
:
## character(0)
Uma boa prática em termos de reprodutibilidade e portabilidade dos trabalhos feitos em R é a utilização de Projetos. Ao criar um Projeto no R, ele localiza-se dentro de uma pasta onde ficam organizados todos os arquivos comumente utilizados para as funções daquele projeto. Isso facilita muito o compartilhamento de trabalhos, pois os caminhos existentes a partir da pasta do projeto serão comum para todos.
O pacote R tem nativo diversas funções para leitura de arquivos e
carregamento para o ambiente de trabalho, as quais geralmente se iniciam
com read.*()
, ou seja: read.csv()
,
read.table()
, etc. Basta passar o caminho para o arquivo na
função.
Vamos supor que temos um arquivo chamado exemplo.csv
na
pasta de nosso projeto, e iremos importá-lo:
## ID sexo idade peso altura
## 1 1 M 41 92.7 1.74
## 2 2 F 52 71.9 1.73
## 3 3 F 49 38.5 1.50
## 4 4 F 21 66.1 1.67
## 5 5 M 68 49.3 1.57
## 6 6 M 48 51.5 1.51
## 7 7 F 37 77.6 1.54
## 8 8 M 52 67.1 1.88
## 9 9 F 31 16.9 1.89
## 10 10 M 35 29.6 1.76
## 11 11 M 37 55.8 1.61
## 12 12 M 55 76.3 1.76
## 13 13 M 54 73.5 1.44
## 14 14 M 34 69.5 1.53
## 15 15 M 62 58.9 1.46
## 16 16 M 60 19.5 1.76
## 17 17 M 42 75.5 1.35
Pode ser que na importação o R não reconheça as colunas de forma adequada, e um problema comum é e a especificação do delimitador utilizado no csv. O arquivo csv pode ser separado por vírgulas, ponto e vírgula, tabulações, etc.
Podemos especificar o delimitador com o argumento
sep
:
A função read.csv2()
é adaptada a sistemas que utilizam
vírgula como separador decimal e portanto o ponto e vírgula como
separador do arquivo .csv
. Dessa forma, acaba sendo mais
útil para muitos arquivos gerados no Brasil.
{readr}
O pacote readr
possui funções semelhantes às vistas
anteriormente, mas com funcionalidades úteis para checar a estrutura dos
dados ao importá-los:
## Rows: 17 Columns: 5
## ── Column specification ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): sexo
## dbl (4): ID, idade, peso, altura
##
## ℹ 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.
Perceba que a saída do comando já fornece informações úteis sobre o tipo dos dados (quais colunas são texto, ou numéricas), assim como o número de linhas e colunas importados, o que facilita a verificação de possíveis erros na leitura dos dados.