Basisvaardigheden in R: Gegevens binnen en buiten R krijgen
Gegevens importeren uit een Excel bestand
Inleiding tot data import vanuit een Excel bestand De beste manier om een Excel-bestand te lezen is door het vanuit Excel naar een door komma's gescheiden bestand (csv extensie) te exporteren en in R te importeren met behulp van de methode die op de vorige theoriepagina is beschreven. Als alternatief kun je Excel-werkbladen (bestanden met de extensies xlsx en xls ) rechtstreeks importeren met behulp van het pakket readxl
. Zorg ervoor dat je dit pakket downloadt en installeert voordat je het voor het eerst gebruikt. De R functie voor het importeren van de dataset heet read_excel()
. Er wordt naar de bestandsextensie gekeken om te beslissen welk formaat wordt gebruikt. Gebruik read_xls()
en read_xlsx()
rechtstreeks als je het al weet en dergelijk giswerk wilt voorkomen. Alle functies importeren een werkblad in een tibble (een speciaal type dataframe). De functies hebben opties waarmee je een specifiek blad (sheet=getal
) of een bepaald celbereik (range="..."
) kunt opgeven; raadpleeg de volledige documentatie van het pakket.
We illustreren dit met ons voorbeeld van de MDMA dataset op de vorige theoriepagina.
Gegevens importeren uit Excel bestand m.b.v. het pakket readxl We gaan ervan uit dat je het bestand MDMAdata.xlsx hebt gedownload en opgeslagen in de werkmap C:/temp.
Uitleg
Voer de volgende stappen uit:
- Installeer het pakket
readxl
(negeer waarschuwingen) - Activeer het pakket via de
library()
. - Stel de werkmap in.
- Gebruik eventueel een browser om via de functie
file.choose()
het volledige pad van het Excel-bestand te vinden. Het browservenster zou er zo uit kunnen zien: - Importeer het Excel-bestand in R. Maak een nieuwe variabele aan en gebruik de functie
read_xlsx()
om het Excel-bestand in xlsx-formaat te importeren. - Controleer de datastructuur van de geïmporteerde dataset of verken de eerste paar rijen van de tabel.
Voorbeeldsessie
> install.packages("readxl")
> library(readxl)
> setwd("C:/temp")
> bestandslocatie <- file.choose()
> bestandslocatie [1] "C:\\temp\\MDMAdata.xlsx"
> MDMAdata <- read_xlsx(bestandslocatie) > str(MDMAdata) tibble [12 x 2] (S3: tbl_df/tbl/data.frame) $ t: num [1:12] 0,25 0,5 0,75 1 1,5 2 3 4 6 8 ... $ C: num [1:12] 0 19,2 74,6 125 200 ... > head(MDMAdata) # A tibble: 6 x 2 t C <dbl> <dbl> 1 0.25 0 2 0.5 19.2 3 0.75 74.6 4 1 125 5 1.5 200 6 2 223.