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
- Comma separated (.csv) inlezen in R
- Een eigen dataframe ingeven
- Text (.txt) inlezen in R
- SPSS (.sav) uitlezen in R
- SQL database uitlezen in R
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 functielibrary()
- We gebruiken vervolgens de functie
read_excel()
uit packagereadxl
- 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.
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 bestandsnaamsep
: het scheidingsteken,"\t"
staat voor een tabheader = 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.
Terry is afgestudeerd aan de TU Delft als ingenieur en heeft zich in zijn carrière beziggehouden met het optimaal benutten van data om bedrijfsprestaties te verbeteren. Dit heeft hij gedaan in verschillende rollen, als software ontwikkelaar en als data scientist.