2  Importando dados para o R

Em qualquer análise de dados, a primeira etapa é importar os dados para o ambiente de trabalho. No R, isso significa carregar seus dados, que podem estar em diversas fontes externas, como arquivos de texto (*.csv, *.tsv, *.txt), planilhas (*.xlsx, *.ods) ou bancos de dados online, para um formato que o R possa entender: o data-frame.

Apesar de existirem vários pacotes e funções para importação de arquivos, vamos focar naqueles que fazem parte do tidyverse

2.1 Importando arquivos *.csv

O formato *.csv (comma-separated values1) está entre os mais populares para armazenar dados tabulares. Como o nome sugere, os valores em um arquivo CSV são separados por vírgulas (ou ponto e vírgula em alguns casos).

O pacote readr fornece algumas funções:

  • read_csv Importa arquivos *.csv com vírgula como separador decimal e ponto como separador de milhares.

  • read_csv2: Importa arquivos *.csv com ponto e vírgula como separador decimal e vírgula como separador de milhares (comum em países como o Brasil).

  • read_delim: Para uso geral.

Exemplo 2.1 (Importar CSV) O arquivo cbs_jul19.csv (Figura 2.1) contém as temperaturas mínimas e máximas diárias para a cidade de Curitibanos-SC registradas nos primeiros 15 dias do mês de julho de 2019.

Figura 2.1: Arquivo *.csv cujo delimitador entre valores é a vírgula e o separador de decimal é o ponto.

Abaixo, os mesmos dados, mas em um arquivo (cbs2_jul19.csv - Figura 2.2)) cujo delimitador de valores é o ponto e vírgula e o separador de decimal é a vírgula:

Figura 2.2: Arquivo *.csv cujo delimitador entre valores é o ponto e vírgula e o separador de decimal é a vírgula

A importação com a função read_csv é feita como no exemplo abaixo:

temperaturas <- readr::read_csv("cbs_jul19.csv")
temperaturas
Rows: 14 Columns: 3
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
dbl  (2): temp_min, temp_max
date (1): data

ℹ 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: 14 × 3
   data       temp_min temp_max
   <date>        <dbl>    <dbl>
 1 2019-07-01     10.7     17.1
 2 2019-07-02     11       15  
 3 2019-07-03      5.9     14.8
 4 2019-07-04     -0.3     12.1
 5 2019-07-05     -0.8      7.1
 6 2019-07-06     -3.3      8.6
 7 2019-07-07     -4.4     13.6
 8 2019-07-08      2.1     19.2
 9 2019-07-09      0       22.5
10 2019-07-10      2       19.5
11 2019-07-11      4.3     21.4
12 2019-07-12      8.7     23.3
13 2019-07-13     12.9     23.1
14 2019-07-14     13       17.4

E com a função csv2:

temperaturas <- readr::read_csv2("cbs2_jul19.csv")
temperaturas
ℹ Using "','" as decimal and "'.'" as grouping mark. Use `read_delim()` for more control.
Rows: 14 Columns: 3
── Column specification ────────────────────────────────────────────────────────
Delimiter: ";"
dbl  (2): temp_min, temp_max
date (1): data

ℹ 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: 14 × 3
   data       temp_min temp_max
   <date>        <dbl>    <dbl>
 1 2019-07-01     10.7     17.1
 2 2019-07-02     11       15  
 3 2019-07-03      5.9     14.8
 4 2019-07-04     -0.3     12.1
 5 2019-07-05     -0.8      7.1
 6 2019-07-06     -3.3      8.6
 7 2019-07-07     -4.4     13.6
 8 2019-07-08      2.1     19.2
 9 2019-07-09      0       22.5
10 2019-07-10      2       19.5
11 2019-07-11      4.3     21.4
12 2019-07-12      8.7     23.3
13 2019-07-13     12.9     23.1
14 2019-07-14     13       17.4

2.2 Importando arquivos do Excel

O pacote readxl permite importar dados de planilhas do Excel com a função read_excel

O arquivo bflor.xlsx contém dados de um experimento.

bflor <- readxl::read_excel("bflor.xlsx")
bflor
# A tibble: 54 × 3
   especie     n comprimento
   <chr>   <dbl>       <dbl>
 1 Hb          1        47.1
 2 Hb          2        46.8
 3 Hb          3        46.8
 4 Hb          4        47.1
 5 Hb          5        46.7
 6 Hb          6        47.4
 7 Hb          7        46.4
 8 Hb          8        46.6
 9 Hb          9        48.1
10 Hb         10        48.3
# ℹ 44 more rows

Dicas:

  • Especifique a aba da planilha que deseja importar usando o argumento sheet.

  • Ignore as primeiras linhas da planilha com o argumento skip.


  1. em português, valores separados por vírgula↩︎