read-data-r-xls-csv-txt-spss-sql-database

Als data analyst of data scientist zul je vaak met datasets werken: een verzameling data in tabelvorm. Een R object met een dataset wordt vaak dataframe genoemd. In dit blog leer je hoe je met R verschillende typen datasets uitleest. Sommige mensen noemen dit inlezen.

Dit blog is een onderdeel van een blogserie over R waarin we o.a. ingaan op hoe je R installeert, hoe je in RStudio werkt, data manipuleert met bijvoorbeeld dplyr of data.table, of data visualiseert met ggplot2 in bijvoorbeeld een histogram of boxplot.

In dit blog gaan we in op het uitlezen van verschillende soorten datasets, omdat data in verschillende bestandstypen opgeslagen kunnen zijn.

Je kunt hier de datasets in verschillende bestandstypes downloaden zodat je mee kunt doen met deze tutorial.

We behandelen het uitlezen van de volgende soorten datasets:


Excel (.xlsx) uitlezen in R

Excel wordt veel gebruikt om met data in tabelvorm te werken.

Wanneer je een Excel dataset in R wilt gebruiken heb je een package nodig.

  • Er zijn verschillende mogelijkheden.
  • Wij gebruiken package readxl.

In onderstaande cel doen we het volgende:

  • Eerst importeren we packege readxl met functie library()
  • We gebruiken vervolgens de functie read_excel() uit package readxl
  • We openen een dataset met KNMI metingen van temperaturen en regen.
  • Om het bestand uit te lezen geef je het file path op
library(readxl)

df_knmi_xlsx <- read_excel("data/knmi_measurements.xlsx")

df_knmi_xlsx

RStudio geeft nu de dataset mooi weer. We zien het aantal rijen en kolommen, en kunnen door de pagina's met rijen heen bladeren.

Omdat het een dataset is met veel rijen, is het resultaat hiervan niet opgenomen op deze pagina.


Met vertrouwen waardevolle inzichten halen uit data met R? Bekijk dan onze opleiding R voor data analyse.

Comma separated (.csv) inlezen in R

Een comma separated (.csv) dataset komt in de praktijk ook vaak voor.

Hiervoor gebruiken we de standaard functie read.csv().

In onderstaande cel doen we het volgende:

  • Eerst gebruiken we functie read.csv()
  • We openen een dataset met KNMI metingen van temperatuur en neerslag
  • Hiervan geven we weer het file path op

df_knmi_csv <- read.csv("data/knmi_measurements.csv")

df_knmi_csv

Je krijgt in RStudio nu weer de uitgelzen dataset te zien.

Ook interessant: clean dataset in R: hoe ga ik te werk?


Zelf een dataframe samenstellen

Met de functie data.frame() kun je ook zelf een dataframe samenstellen.

In onderstaand voorbeeld maken we een dataframe aan:

In functie data.frame() benoemen we de kolommen en hun waarden. Hier gebruiken we vectoren voor.

df_custom <- data.frame(
  a_col = c(1, 2, 3, 4, 5),
  b_col = c(6, 7, 8, 9, 10),
  c_col = c(11, 12, 13, 14, 15)
)

df_custom

Je krijgt nu de zelfgemaakte dataset terug als output.


Text (.txt) inlezen in R

Met functie read.table() kunnen we een tekstbestand uitlezen, met de volgende argumenten:

  • file: het pad en de bestandsnaam
  • sep: het scheidingsteken, "\t" staat voor een tab
  • header = TRUE geeft aan dat de dataset een header (kolomnamen) bevat
df_knmi_txt <- read.table(
  file = "data/knmi_measurements.txt",
  sep = "\t",
  header = TRUE
)

df_knmi_txt

De .txt dataset is nu uitgelezen en wordt weergegeven.


SPSS (.sav) uitlezen in R

Package haven kan omgaan met meerdere soorten statistische datasets.

Bijvoorbeeld uit:

  • SAS
  • SPSS
  • Stata

We bekijken hier als voorbeeld een SPSS bestand in .sav formaat.

Met functie read_sav() kan dit uitgelezen worden:

library(haven)

df_health <- read_sav(
  file = "data/hlthedd2016.sav"
)

df_health

Je ziet dat je zo makkelijk SPSS datasets kunt uitlezen. Handig, omdat men R veelal gebruikt in omgevingen waar SPSS ook een populaire tool is.


SQL Database uitlezen in R

Een database is veelal een gestructureerde verzameling tabellen.

In dit voorbeeld maken we een connectie met een locale SQLite database.

We gebruiken hiervoor 2 packages: DBI en RSQLite.

  • Daarmee maken we een connectie met de locale database, in het .db bestand dat je bovenaan dit blog kan downloaden.
  • Vervolgens lezen we tabel met naam "measurements" uit:
library(DBI)
library(RSQLite)

connetion <- dbConnect(
  SQLite(),
  "data/knmi_measurements.db"
)

df_knmi_db <- dbReadTable(connetion, "measurements")

dbDisconnect(connetion)

df_knmi_db

Je ziet dat je met enkele regels code verbinding kunt maken met een database. Omdat databases veel voorkomen in de praktijk zul je dit goed toe kunnen passen.


Expert worden in R?

Wil jij goed leren werken in R? Tijdens onze Opleiding R leer je alles wat je nodig hebt om zelfstandig analyses uit te voeren in R.

by: