Importarea datelor

În această secțiune vom prezenta o serie de modalități de bază de importare a seturilor de date în R/RStudio. Interfața RStudio permite importarea datelor din diverse surse prin efectuarea următorilor pași (interfața generează și codul corespunzător importării datelor):

  1. Mergeți în tab-ul Environment (fereastra din dreapta sus) și selectați Import Dataset
  2. Selectați tipul de date corespunzător fișierului pe care doriți să-l importați
  3. Selectați fișierul din repertoriul de date

Figura 1: Interfața de importare a datelor din RStudio.

Fișiere de date de tip csv

Pachetul de bază din tidyverse care permite citirea fișierelor de tip csv este readr. Funcționalitățile acestui pachet permit și citirea/scrierea fișierelor de tip text, sau a fișierelor delimitate cu tab. Trebuie menționat că R-ul de bază vine cu funcționalități similare prin funcții precum read.csv sau write.csv. În cazul în care seturile de date sunt foarte mari atunci este indicată folosirea pachetului data.table prin fread și respectiv fwrite.

Funcția care permite citirea fișierelor de tip csv este read_csv(). Această funcție încearcă să detecteze automat tipurile de date și să le citească într-o structură de tip data.frame.

data_iris <- read_csv("../../dataIn/iris.csv")

Funcția read_csv() admite o serie de argumente ce permit customizarea ei (a se vedea ?read_csv pentru mai multe detalii):

  • col_names - permite denumirea coloanelor din structura data.frame rezultată
  • col_types - permite definirea tipurilor de date din fiecare coloană (înlocuid detectarea automată a acestora)
  • skip - permite sărirea peste un anumit număr de linii atunci când este citit fișierul

data_iris <- read_csv("../../dataIn/iris.csv",
                     col_names = c("sepal_length",
                                   "sepal_width", 
                                   "petal_length",
                                   "petal_width", 
                                   "species"), 
                     skip=1)

Alternativ se pot folosi și alte funcții precum read_csv2() atunci când separatorul este ;, read_tsv() atunci când separatorul este tab sau, mai general, read_delim() atunci când separatorul este un alt simbol.

În cazul în care dorim să scriem/salvăm un data.frame/set de date într-un fișier de tip csv atunci putem folosi funcția write_csv() din pachetul readr sau funcția write.csv() din pachetul de bază. Argumentele de bază ale funcției write_csv() sunt date de setul de date și numele și adresa fișierului în care salvăm:

write_csv(data_iris, "../../dataOut/iris.csv")

Fișiere de date de tip xls sau xlsx

Atunci când dorim să lucrăm cu fișiere de tip Excel, pachetul readxl asigură citirea acestor fișiere prin intermediul funcției read_excel() (citește doar primul sheet).

library(readxl)
data_iris_xlsx <- read_excel("../../dataIn/iris.xlsx")

Ca și în cazul funcției read_csv, funcția read_excel admite o serie de argumente opționale.

data_iris_excel <- read_excel("../../dataIn/iris.xlsx",
                             range = "B2:F13", 
                             col_names = c("sepal_length",
                                           "sepal_width", 
                                           "petal_length",
                                           "petal_width", 
                                           "species"))