getwd()
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…
-
…vanop een locatie op je computer (ook “lokaal” genoemd)
- …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()
.
[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.
<- read.csv("basketbal.csv") basketbal_dataframe
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:
<- read.csv("C:/Users/mbeelaer/Documents/UGent/biostats.csv") deelnemers_dataframe
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:
<- read.csv("https://people.sc.fsu.edu/~jburkardt/data/csv/deniro.csv") film_data
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.
<- read.csv("basketbal.csv") basketbal_dataframe
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:
<- read.csv("/Users/jouwnaam/Documents/biostats.csv") deelnemers_dataframe
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:
<- read.csv("https://people.sc.fsu.edu/~jburkardt/data/csv/deniro.csv") film_data
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.