9  Data importeren

Moet het nog herhaald worden? Je zal in R heel vaak met data werken. Dat wist je natuurlijk al. Maar hoe kan je die data in RStudio inladen, zodat je ermee aan de slag kan?

Data zullen vaak opgeslagen zijn in een csv-bestand. Dat is een specifiek bestandstype dat heel geschikt is om onderzoeksdata te bevatten. In R bestaat een handige functie om zo’n csv-bestand in te laden: read.csv(). Met deze functie kan je data inladen…

  1. …vanop een locatie op je computer (ook “lokaal” genoemd)

  2. …vanop een locatie op het internet


Laten we een voorbeeld van elk geval bekijken. Het is lichtjes verschillend voor Windows en Mac OS, dus kies in het overzicht links voor de juiste pagina of klik door via het pijltje rechts tot je op de juiste pagina landt.

9.1 Windows

9.1.1 Lokale data inladen

In deze situatie heb je een csv-bestand ergens op je computer opgeslagen. In een ideale wereld bevindt dit bestand zich in je working directory.

Ter herinnering, de working directory is een locatie op je computer die in verbinding staat met RStudio. Om te achterhalen wat op dit moment je working directory is gebruik je de functie getwd().

getwd()
[1] "C:/Gebruikers/michi/Documenten/Statistiek/Werken met R"


Als zich in die map een csv-bestand bevindt, dan kan je het oproepen door simpelweg de naam van het bestand als argument te geven aan de functie read.csv(). Het is vaak een goed idee om dit bestand bij het inlezen meteen in een nieuw object te stoppen, hier basketbal_dataframe genaamd.

basketbal_dataframe <- read.csv("basketbal.csv")


Inspecteer de eerste 6 rijen van het object dat je net hebt gemaakt.

head(basketbal_dataframe)
  voornamen leeftijden rugnummers
1     Laura         19          4
2    Danira         22         12
3  Stefanie         18          7
4     Leyla         22         76
5    Chelsy         24         33


Als het bestand dat je wil inlezen zich niet in je working directory bevindt, maar ergens anders op je computer, dan moet je de locatie1 meegeven als argument aan de functie read.csv(). Bijvoorbeeld:

deelnemers_dataframe <- read.csv("C:/Users/mbeelaer/Documents/UGent/biostats.csv")


Bekijk opnieuw de eerste 6 rijen ter controle.

head(deelnemers_dataframe) 
  Name      Sex Age Height..in. Weight..lbs.
1 Alex        M  41          74          170
2 Bert        M  42          68          166
3 Carl        M  32          70          155
4 Dave        M  39          72          167
5 Elly        F  30          66          124
6 Fran        F  33          66          115


Dit werkt ook prima, maar het is wat omslachtiger, omdat je eerst de locatie van het bestand moet achterhalen en vervolgens tussen de haakjes van de functie read.csv() plakken.


9.1.2 Data van het internet inladen

Iemand heeft een csv-bestand gemaakt over de films waarin Robert De Niro meespeelt en heeft die data ter beschikking gesteld op het internet. Het bestand is te vinden op het volgende internetadres (ook “url” genoemd):

https://people.sc.fsu.edu/~jburkardt/data/csv/deniro.csv


De data in dit bestand kan je rechtstreeks in RStudio inladen. Dit doe je door de url als argument aan de functie read.csv() te geven:

film_data <- read.csv("https://people.sc.fsu.edu/~jburkardt/data/csv/deniro.csv") 


Om de data te inspecteren kan je de functies head() en str() gebruiken.

head(film_data)
  Year Score                 Title
1 1968    86             Greetings
2 1970    17           Bloody Mama
3 1970    73              Hi, Mom!
4 1971    40           Born to Win
5 1973    98          Mean Streets
6 1973    88  Bang the Drum Slowly
str(film_data)
'data.frame':   87 obs. of  3 variables:
 $ Year : int  1968 1970 1970 1971 1973 1973 1974 1976 1976 1977 ...
 $ Score: int  86 17 73 40 98 88 97 41 99 47 ...
 $ Title: chr  " Greetings" " Bloody Mama" " Hi, Mom!" " Born to Win" ...


De data lijken goed ingeladen! Kan je achterhalen hoeveel films in de dataset zijn opgenomen?

Klik hier om het antwoord te zien

Er zijn 87 “observations” van 3 variabelen in het dataframe. Dat wil zeggen dat jaartal, score en titel van 87 films werden bijgehouden.


9.2 macOS

9.2.1 Lokale data inladen

In deze situatie heb je een csv-bestand ergens op je computer opgeslagen. In het eenvoudigste geval bevindt dit bestand zich in je working directory.

Ter herinnering, de working directory is een locatie op je computer die in verbinding staat met RStudio. Om te achterhalen wat op dit moment je working directory is gebruik je de functie getwd().

getwd()
[1] "/Users/jouwnaam/Statistiek"


Als zich in die map een csv-bestand bevindt, dan kan je het oproepen door simpelweg de naam van het bestand als argument te geven aan de functie read.csv(). Het is vaak een goed idee om dit bestand bij het inlezen meteen in een nieuw object te stoppen, hier basketbal_dataframe genaamd.

basketbal_dataframe <- read.csv("basketbal.csv")


Inspecteer de eerste 6 rijen van het dataframe met de functie head().

head(basketbal_dataframe)
  voornamen leeftijden rugnummers
1     Laura         19          4
2    Danira         22         12
3  Stefanie         18          7
4     Leyla         22         76
5    Chelsy         24         33


Als het bestand dat je wil inlezen zich niet in je working directory bevindt, dan moet je de locatie2 meegeven als argument aan de functie read.csv(). Bijvoorbeeld:

deelnemers_dataframe <- read.csv("/Users/jouwnaam/Documents/biostats.csv")


Bekijk opnieuw de eerste 6 rijen ter controle.

head(deelnemers_dataframe)
  Name      Sex Age Height..in. Weight..lbs.
1 Alex        M  41          74          170
2 Bert        M  42          68          166
3 Carl        M  32          70          155
4 Dave        M  39          72          167
5 Elly        F  30          66          124
6 Fran        F  33          66          115


Dit werkt ook prima, maar het is wat omslachtiger, omdat je eerst de locatie van het bestand moet achterhalen en vervolgens tussen de haakjes van de functie read.csv() plakken.


9.2.2 Data van het internet inladen

Iemand heeft een csv-bestand gemaakt over de films waarin Robert De Niro meespeelt en heeft die data ter beschikking gesteld op het internet. Het bestand is te vinden op het volgende internetadres (ook “url” genoemd):

https://people.sc.fsu.edu/~jburkardt/data/csv/deniro.csv


Deze data kan je rechtstreeks in RStudio inladen. Dit doe je door de url als argument aan de functie read.csv() te geven. Het is best om dit bestand meteen in een object te stoppen, hier film_data genoemd:

film_data <- read.csv("https://people.sc.fsu.edu/~jburkardt/data/csv/deniro.csv") 


Om de data te inspecteren kan je de functies head() en str() gebruiken.

head(film_data)
  Year Score                 Title
1 1968    86             Greetings
2 1970    17           Bloody Mama
3 1970    73              Hi, Mom!
4 1971    40           Born to Win
5 1973    98          Mean Streets
6 1973    88  Bang the Drum Slowly
str(film_data)
'data.frame':   87 obs. of  3 variables:
 $ Year : int  1968 1970 1970 1971 1973 1973 1974 1976 1976 1977 ...
 $ Score: int  86 17 73 40 98 88 97 41 99 47 ...
 $ Title: chr  " Greetings" " Bloody Mama" " Hi, Mom!" " Born to Win" ...


De data lijken goed ingeladen! Kan je achterhalen hoeveel films in de dataset zijn opgenomen?

Klik hier om het antwoord te zien

Er zijn 87 “observations” van 3 variabelen in het dataframe. Dat wil zeggen dat jaartal, score en titel van 87 films werden bijgehouden.



  1. Zorg ervoor dat je enkel / gebruikt in de maplocatie, geen \.↩︎

  2. Zorg ervoor dat je enkel / gebruikt in de maplocatie, geen \.↩︎