Ga naar hoofdinhoud

Basisprogrammeervaardigheden in R

Oefen basisprogrammeervaardigheden in R met lesmateriaal uit DataCamp's gratis cursus Model a Quantitative Trading Strategy in R.
Bijgewerkt 2 okt 2026  · 5 min lezen

Verken met AI

ChatGPTClaudePerplexity

Als je onze gratis cursus Model a Quantitative Trading Strategy in R wilt volgen, hier is de link.

Bestand lezen: read.csv()

De eerste stap voordat we data van een aandelenfonds kunnen analyseren, is het downloaden en inladen in de R-werkruimte. Een dataset in de werkruimte laden lijkt op het openen van een databestand in Excel, waarna we de beschikbare functies erop kunnen uitvoeren. In R worden datatabellen vaak opgeslagen als objecten die data frames heten.

In dit hoofdstuk gebruiken we data van een aandeel genaamd MARUTI dat is gedownload van Yahoo Finance. De data is beschikbaar op http://assets.datacamp.com/course/quantinsti/data_ch1.csv. De dataset bevat de dagelijkse OHLC (Open High Low Close) en volumedata van Maruti van 1 jan 2008 tot en met 31 dec 2013.

In deze oefening beginnen we met het definiëren van een nieuw object in R, genaamd data_maruti. De syntaxis voor het definiëren van een nieuwe variabele of een nieuw object is heel eenvoudig:

variable_name <- value

waarbij variable_name de naam is van het nieuwe object of de nieuwe variabele en value de waarde is die eraan wordt toegekend.

We slaan een .csv-databestand op in data_maruti. De functie die wordt gebruikt om een .csv-bestand te lezen en als een data frame op te slaan, is read.csv(). De syntaxis om een functie aan te roepen is vrij simpel:

function_name(object1, object2, argument1, argument2, ....)

waarbij function_name de naam van de functie is en object1, object1 de objecten of variabelen zijn waarop je de functie wilt uitvoeren. arguments zijn de specificaties die je wilt meegeven bij het uitvoeren van de functie.

In deze oefening leren we een nieuwe variabele te maken met een functie.

Instructies

  • Inspecteer het dummy data frame dat als voorbeeld voor je is geüpload. Merk op dat er drie argumenten in de read.csv()-functie zitten: file, gelijk aan de URL van de data, header, een logische waarde die aangeeft of het bestand de namen van de variabelen als eerste regel bevat (TRUE in dit geval) en stringsAsFactors, dat aangeeft of strings in de tabel als factors moeten worden opgeslagen (FALSE in dit geval).
  • Maak een nieuwe variabele data_maruti die Maruti's dagelijkse data van 1 jan 2008 tot en met 31 dec 2013 bevat. Zorg ervoor dat je header op TRUE zet en stringAsFactors op FALSE.
  • Inspecteer ten slotte de eerste rijen van het geladen data frame met de functie head(). Voer simpelweg head(data_maruti) uit om de functie aan te roepen.
eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6IlxuIiwic2Ft cGxlIjoiXG4jIFRoaXMgaXMgZXhhbXBsZSBjb2RlIHRvIHNob3cgeW91IGhv dyB0byByZWFkIGEgLmNzdiBmaWxlXG5kdW1teSA8LSByZWFkLmNzdihmaWxl ID0gXCJodHRwOi8vYXNzZXRzLmRhdGFjYW1wLmNvbS9jb3Vyc2UvcXVhbnRp bnN0aS9kYXRhX2NoMS5jc3ZcIiwgaGVhZGVyID0gVFJVRSwgc3RyaW5nc0Fz RmFjdG9ycyA9IEZBTFNFKVxuXG4jIFJlYWQgb3V0IHRoZSAuY3N2IGZpbGUg c2F2ZWQgYXQgJ2h0dHA6Ly9hc3NldHMuZGF0YWNhbXAuY29tL2NvdXJzZS9x dWFudGluc3RpL2RhdGFfY2gxLmNzdidcbmRhdGFfbWFydXRpIDwtXG5cbiMg SW5zcGVjdCB0aGUgZGF0YSBmcmFtZSIsInNvbHV0aW9uIjoiXG4jIFRoaXMg aXMgZXhhbXBsZSBjb2RlIHRvIHNob3cgeW91IGhvdyB0byByZWFkIGEgLmNz diBmaWxlXG5kdW1teSA8LSByZWFkLmNzdihmaWxlID0gXCJodHRwOi8vYXNz ZXRzLmRhdGFjYW1wLmNvbS9jb3Vyc2UvcXVhbnRpbnN0aS9kYXRhX2NoMS5j c3ZcIiwgaGVhZGVyID0gVFJVRSwgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNF KVxuXG4jIFJlYWQgb3V0IHRoZSAuY3N2IGZpbGUgc2F2ZWQgYXQgJ2h0dHA6 Ly9hc3NldHMuZGF0YWNhbXAuY29tL2NvdXJzZS9xdWFudGluc3RpL2RhdGFf Y2gxLmNzdidcbmRhdGFfbWFydXRpIDwtIHJlYWQuY3N2KGZpbGUgPSBcImh0 dHA6Ly9hc3NldHMuZGF0YWNhbXAuY29tL2NvdXJzZS9xdWFudGluc3RpL2Rh dGFfY2gxLmNzdlwiLCBoZWFkZXIgPSBUUlVFLCBzdHJpbmdzQXNGYWN0b3Jz ID0gRkFMU0UpXG5cbiMgSW5zcGVjdCB0aGUgZGF0YSBmcmFtZVxuaGVhZChk YXRhX21hcnV0aSkiLCJzY3QiOiJcbnRlc3RfZXJyb3IoKVxudGVzdF9mdW5j dGlvbihcInJlYWQuY3N2XCIsXCJmaWxlXCIsaW5jb3JyZWN0X21zZyA9IFwi SGF2ZSB5b3Ugc3BlY2lmaWVkIHRoZSA8Y29kZT5maWxlPC9jb2RlPiBhcmd1 bWVudCBjb3JyZWN0bHkgaW5zaWRlIHRoZSA8Y29kZT5yZWFkLmNzdigpPC9j b2RlPiBmdW5jdGlvbj9cIilcbnRlc3RfZnVuY3Rpb24oXCJyZWFkLmNzdlwi LFwiaGVhZGVyXCIsbm90X2NhbGxlZF9tc2cgPSBcIk1ha2Ugc3VyZSB0byBz ZXQgdGhlIDxjb2RlPmhlYWRlcjwvY29kZT4gYXJndW1lbnQgaW5zaWRlIHRo ZSA8Y29kZT5yZWFkLmNzdigpPC9jb2RlPiBmdW5jdGlvbi5cIiwgaW5jb3Jy ZWN0X21zZyA9IFwiTWFrZSBzdXJlIHRvIHNldCB0aGUgPGNvZGU+aGVhZGVy PC9jb2RlPiBhcmd1bWVudCB0byA8Y29kZT5UUlVFPC9jb2RlPiBpbnNpZGUg dGhlIDxjb2RlPnJlYWQuY3N2KCk8L2NvZGU+IGZ1bmN0aW9uLlwiKVxudGVz dF9mdW5jdGlvbihcInJlYWQuY3N2XCIsXCJzdHJpbmdzQXNGYWN0b3JzXCIs IG5vdF9jYWxsZWRfbXNnID0gXCJNYWtlIHN1cmUgdG8gc2V0IHRoZSA8Y29k ZT5zdHJpbmdzQXNGYWN0b3JzPC9jb2RlPiBhcmd1bWVudCBpbnNpZGUgdGhl IDxjb2RlPnJlYWQuY3N2KCk8L2NvZGU+IGZ1bmN0aW9uLlwiLCBpbmNvcnJl Y3RfbXNnID0gXCJNYWtlIHN1cmUgdG8gc2V0IHRoZSA8Y29kZT5zdHJpbmdz QXNGYWN0b3JzPC9jb2RlPiBhcmd1bWVudCB0byA8Y29kZT5GQUxTRTwvY29k ZT4gaW5zaWRlIHRoZSA8Y29kZT5yZWFkLmNzdigpPC9jb2RlPiBmdW5jdGlv bi5cIilcbnRlc3Rfb2JqZWN0KFwiZGF0YV9tYXJ1dGlcIixpbmNvcnJlY3Rf bXNnID0gXCJUaGUgPGNvZGU+ZGF0YV9tYXJ1dGk8L2NvZGU+IHZhcmlhYmxl IGlzIG5vdCBpbml0aWFsaXplZCBhcyBleHBlY3RlZC4gVGFrZSBhIGxvb2sg YXQgdGhlIGhpbnQuXCIpXG50ZXN0X2Z1bmN0aW9uKFwiaGVhZFwiLCBcInhc Iiwgbm90X2NhbGxlZF9tc2cgPSBcIlVzZSB0aGUgZnVuY3Rpb24gPGNvZGU+ aGVhZCgpPC9jb2RlPiB0byBpbnNwZWN0IHRoZSBmaXJzdCByb3cgb2YgPGNv ZGU+ZGF0YV9tYXJ1dGk8L2NvZGU+LlwiLCBpbmNvcnJlY3RfbXNnID0gXCJN YWtlIHN1cmUgdG8gcGFzcyB0aGUgPGNvZGU+ZGF0YV9tYXJ1dGk8L2NvZGU+IHZhcmlhYmxlIHRvIHRoZSBmdW5jdGlvbiA8Y29kZT5oZWFkKCk8L2NvZGU+ LiBUcnkgYWdhaW4uXCIpXG5zdWNjZXNzX21zZyhcIkdyZWF0ISBDaGVjayBv dXQgdGhlIGNvbHVtbiBuYW1lcyBvZiB5b3VyIGRhdGEgc2V0LiBXaGF0IGRv IHlvdSB0aGluayB0aGV5IG1lYW4/XCIpIiwiaGludCI6IlxuUmVhZCB0aGlz IGh0dHA6Ly93d3cuci10dXRvci5jb20vci1pbnRyb2R1Y3Rpb24vZGF0YS1m cmFtZS9kYXRhLWltcG9ydC4ifQ==

Krijg een eerste indruk van je data

Je bent nu bekend met de functie head(), die werd gebruikt om de eerste rijen van data_maruti af te drukken.

In deze oefening druk je de laatste rijen (tail) van de dataset af met de functie tail(). Je ontdekt ook hoe je het aantal rijen en kolommen van de dataset opvraagt.

Het data_maruti data frame is al voor je in de werkruimte geladen.

Instructies

  • Print de laatste zes rijen van data_maruti met de functie tail().
  • Print het aantal rijen in data_maruti met de functie nrow().
  • Print het aantal kolommen in data_maruti met de functie ncol().
eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6IlxuI0Rvd25s b2FkIGRhdGEgc2V0XG5kYXRhX3VybCA9IFwiaHR0cDovL2Fzc2V0cy5kYXRh Y2FtcC5jb20vY291cnNlL3F1YW50aW5zdGkvZGF0YV9jaDEuY3N2XCJcbmRh dGFfbWFydXRpID0gcmVhZC5jc3YoZmlsZSA9IGRhdGFfdXJsLCBoZWFkZXIg PSBUUlVFLCBzdHJpbmdzQXNGYWN0b3JzID0gRkFMU0UpIiwic2FtcGxlIjoi XG4jIFByaW50IGxhc3Qgc2l4IHJvd3Mgb2YgJ2RhdGFfbWFydXRpJ1xuXG5c biMgUHJpbnQgdGhlIG51bWJlciBvZiByb3dzIGluIGBkYXRhX21hcnV0aWBc blxuXG4jIFByaW50IHRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiBgZGF0YV9t YXJ1dGlgIiwic29sdXRpb24iOiJcbiMgUHJpbnQgbGFzdCBzaXggcm93cyBv ZiAnZGF0YV9tYXJ1dGknIHVzaW5nIGZ1bmN0aW9uICd0YWlsKCknXG50YWls KGRhdGFfbWFydXRpKVxuXG4jIFByaW50IHRoZSBudW1iZXIgb2Ygcm93cyBp biBgZGF0YV9tYXJ1dGlgIHVzaW5nIGZ1bmN0aW9uICducm93KCknXG5ucm93 KGRhdGFfbWFydXRpKVxuXG4jIFByaW50IHRoZSBudW1iZXIgb2YgY29sdW1u cyBpbiBgZGF0YV9tYXJ1dGlgIHVzaW5nIGZ1bmN0aW9uICduY29sKCknXG5u Y29sKGRhdGFfbWFydXRpKSIsInNjdCI6IlxuXG50ZXN0X2Vycm9yKClcbnRl c3RfZnVuY3Rpb24oXCJ0YWlsXCIsIFwieFwiLCBub3RfY2FsbGVkX21zZyA9 IFwiSGF2ZSB5b3UgdXNlZCB0aGUgZnVuY3Rpb24gPGNvZGU+dGFpbCgpPC9j b2RlPj9cIixcbiAgICAgICAgICAgICAgaW5jb3JyZWN0X21zZyA9IFwiTWFr ZSBzdXJlIHRvIHBhc3MgdGhlIGNvcnJlY3QgZGF0YSBmcmFtZSB0byB0aGUg PGNvZGU+dGFpbCgpPC9jb2RlPiBmdW5jdGlvbi5cIilcbnRlc3RfZnVuY3Rp b24oXCJucm93XCIsIFwieFwiLCBub3RfY2FsbGVkX21zZyA9IFwiSGF2ZSB5 b3UgdXNlZCB0aGUgZnVuY3Rpb24gPGNvZGU+bmNvbCgpPC9jb2RlPj9cIixc biAgICAgICAgICAgICAgaW5jb3JyZWN0X21zZyA9IFwiTWFrZSBzdXJlIHRv IHBhc3MgdGhlIGNvcnJlY3QgZGF0YSBmcmFtZSB0byB0aGUgPGNvZGU+bmNv bCgpPC9jb2RlPiBmdW5jdGlvbi5cIilcbnRlc3RfZnVuY3Rpb24oXCJuY29s XCIsIFwieFwiLCBub3RfY2FsbGVkX21zZyA9IFwiSGF2ZSB5b3UgdXNlZCB0 aGUgZnVuY3Rpb24gPGNvZGU+bmNvbCgpPC9jb2RlPj9cIixcbiAgICAgICAg ICAgICAgaW5jb3JyZWN0X21zZyA9IFwiTWFrZSBzdXJlIHRvIHBhc3MgdGhl IGNvcnJlY3QgZGF0YSBmcmFtZSB0byB0aGUgPGNvZGU+bmNvbCgpPC9jb2Rl PiBmdW5jdGlvbi5cIilcbnN1Y2Nlc3NfbXNnKFwiR3JlYXQgam9iISBDb250 aW51ZSB0byB0aGUgbmV4dCBleGVyaXNlLlwiKSIsImhpbnQiOiJcblRoZSBg YHRhaWwoKWBgIGZ1bmN0aW9uIHByaW50cyB0aGUgbGFzdCBzaXggcm93cyBi eSBkZWZhdWx0LCBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gc3BlY2lmeSBhZGRp dGlvbmFsIGFyZ3VtZW50cy4gVGhlIHN5bnRheCB0byBydW4gYSBmdW5jdGlv biBvdmVyIGEgZGF0YSBmcmFtZSBgYGZ1bmN0aW9uX25hbWUoZGZfbmFtZSlg YC4gRm9yIGV4YW1wbGUsIHRvIHJ1biB0aGUgZnVuY3Rpb24gYGBoZWFkKClg YCBvdmVyIGBkYXRhX21hcnV0aWAsIHdlIHNpbXBseSB3cml0ZSBgYGhlYWQo ZGF0YV9tYXJ1dGkpYGAuIn0=

Types, classes en dimensies van objecten in R

Elke variabele in R is een object met een eigen type, klasse en dimensie. Er zijn slechts een paar basistypen variabelen, zoals numeriek (bijv. 5 of 5,0), karakter (bijv. "a") en logisch (bijv. TRUE). De dimensies zijn het aantal rijen en kolommen van het object. Ten slotte kan de klasse van een object het gedrag van dezelfde functies veranderen. Zo zal de print()-functie zich anders gedragen voor een variabele die een data frame is dan voor een variabele die een lineair model is.

De klassen van objecten waarmee we in dit hoofdstuk werken, zijn vectors en data frames. Data frames zijn, zoals eerder opgemerkt, vergelijkbaar met Excel-tabellen en worden het meest gebruikt in financiële computing. Vectors zijn als een enkele rij of kolom met data die uit hetzelfde type variabelen bestaat. Met andere woorden: een data frame is opgebouwd uit vectors.

Instructies

Print het type, de klasse en de dimensies van object data_maruti met respectievelijk de functies typeof(), class() en dim(). Het data frame data_maruti is al in de werkruimte geladen.

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6IlxuZGF0YV91 cmwgPSBcImh0dHA6Ly9hc3NldHMuZGF0YWNhbXAuY29tL2NvdXJzZS9xdWFu dGluc3RpL2RhdGFfY2gxLmNzdlwiXG5kYXRhX21hcnV0aSA9IHJlYWQuY3N2KGZpbGUgPSBkYXRhX3VybCwgaGVhZGVyID0gVFJVRSwgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNFKSIsInNhbXBsZSI6IlxuIyBQcmludCB0aGUgY2xhc3Mg b2YgJ2RhdGFfbWFydXRpJ1xuXG5cbiMgUHJpbnQgdGhlIHR5cGUgb2YgJ2Rh dGFfbWFydXRpJ1xuXG5cbiMgUHJpbnQgdGhlIGRpbWVuc2lvbnMgb2YgJ2Rh dGFfbWFydXRpJyIsInNvbHV0aW9uIjoiXG4jIFByaW50IHRoZSBjbGFzcyBv ZiAnZGF0YV9tYXJ1dGlJXG5jbGFzcyhkYXRhX21hcnV0aSlcblxuIyBQcmlu dCB0aGUgdHlwZSBvZiAnZGF0YV9tYXJ1dGlJXG50eXBlb2YoZGF0YV9tYXJ1 dGkpXG5cbiMgUHJpbnQgdGhlIGRpbWVuc2lvbnMgb2YgJ2RhdGFfbWFydXRp J1xuZGltKGRhdGFfbWFydXRpKSIsInNjdCI6IlxudGVzdF9vdXRwdXRfY29u dGFpbnMoXCJjbGFzcyhkYXRhX21hcnV0aSlcIiwgaW5jb3JyZWN0X21zZyA9IFwiVXNlIHRoZSBmdW5jdGlvbiA8Y29kZT5jbGFzcygpPC9jb2RlPiBhbmQgcGFzcyBvbiA8Y29kZT5kYXRhX21hcnV0aTwvY29kZT4gYXMgdGhlIGFyZ3VtZW50LlwiKVxudGVzdF9vdXRwdXRfY29udGFpbnMoXCJ0eXBlb2YoZGF0YV9tYXJ1dGkpXCIsIGluY29ycmVjdF9tc2cgPSBcIlVzZSB0aGUgZnVuY3Rpb24gPGNvZGU+dHlwZW9mKCk8L2NvZGU+IGFuZCBwYXNzIG9uIDxjb2RlPmRhdGFfbWFydXRpPC9jb2RlPiBhcyB0aGUgYXJndW1lbnQuXCIpXG50ZXN0X291dHB1dF9jb250YWlucyhcImRpbShkYXRhX21hcnV0aSlcIiwgaW5jb3JyZWN0X21zZyA9IFwiVXNlIHRoZSBmdW5jdGlvbiA8Y29kZT5kaW0oKTwvY29kZT4gYW5kIHBhc3Mgb24gPGNvZGU+ZGF0YV9tYXJ1dGk8L2NvZGU+IGFzIHRoZSBhcmd1bWVudC5cIilcbnN1Y2Nlc3NfbXNnKFwiVGhpcyBpcyBnb2luZyB3ZWxsISBXZSBoYXZlIG5vdyBjb25maXJtZWQgdGhhdCA8Y29kZT5kYXRhX21hcnV0aTwvY29kZT4gaXMgaW4gZmFjdCBhIGRhdGEgZnJhbWUuIExldCB1cyBub3cgbGVhcm4gdG8gdXNlIHNvbWUgZnVuY3Rpb25zIGluIFIgdG8gY2FsY3VsYXRlIHJldHVybnMhXCIpIiwiaGludCI6IlxuVGhpcyBpcyBmYWlybHkgYmFzaWMhIEp1c3QgdXNlIHRoZSBnaXZlbiBmdW5jdGlvbnMgYXMgeW91IGRpZCBpbiBwcmV2aW91cyBxdWVzdGlvbi4ifQ==


Als je meer uit deze cursus wilt halen, hier is de link.

Bekijk DataCamp's tutorial Objects and Classes in R.

Onderwerpen
R
Data Science

Leer meer over R

Cursus

Introductie tot R

4 uur
3.1M
Beheers de basis van data-analyse in R, inclusief vectors, lists en data frames, en oefen met echte datasets.
Bekijk detailsRight Arrow
Start Cursus
Meer bekijkenRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer BekijkenMeer Bekijken