Antwoord
> y <- seq(4, 18, 2)
> dim(y) <- c(4,2)
> y
[,1] [,2]
[1,] 4 12
[2,] 6 14
[3,] 8 16
[4,] 10 18
Les 1. Het allereerste begin
1.2 attributen van objecten
Behalve een naam en een inhoud heeft een object ook attributen. Twee intrinsieke attributen van ieder object zijn de ‘mode’ en de ‘length’. Er zijn 4 hoofdmodes. Dit zijn in het Engels: numeric, character, complex and logical (true or false). Later (les….) ga ik wel dieper op deze termen in. Voor het moment is belangrijk te weten dat getallen ‘numeric’ zijn en tekst een ‘character’ mode heeft.
Dus voor de voorbeelden hierboven geldt (probeer het zelf ook maar):
> mode(A)
[1] “numeric”
> length(A)
[1] 1
En
> D <- “Hallo”
> mode(D)
[1] “character”
Wat de mode ook is missende waarden worden met NA (= Not Available) aangeduid, niet eindige getallen met Inf, en waarden die geen getal zijn met NaN (=Not a Number).
> p <- 0
> q=1/p
> q
[1] Inf
> q-q
[1] NaN
Naast objecten (zoals A, B en C hierboven) met maar één waarde, kennen we ook vectoren, matrices, arrays (en nog een aantal vormen zie les …) met meerdere waarden. Zo levert de volgende rij
> x <- 1:10
> x
[1] 1 2 3 4 5 6 7 8 9 10
Een vector met 10 elementen.
De functie seq levert een rij (sequence) van reële getallen op.
> seq(1, 5, 0.5)
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Hier geeft de eerste waarde (1) de beginwaarde van de rij, de tweede waarde (5) de eindwaarde en de laatste waarde (0.5) de stapgrootte. Als je een vector met bijvoorbeeld 6 getallen die geen rij vormen (bv 2, 5, 4, 8, 9, 1) wilt intypen dan kan dat met de functie c.
> x <- c(2, 5, 4, 8, 9, 1)
[1] 2 5 4 8 9 1
Een matrix van 2 rijen en 3 kolommen met de getallen 1 tot en met 6 kun je bijvoorbeeld als volgt maken
> matrix(1:6, 2, 3)
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
En als je ook hier weer zelf de getallen in de matrix wil bepalen en dit geen ‘sequence’ is, kun je het volgende doen:
> x <- c(2, 3, 6, 4, 4, 5)
> x
[1] 2 3 6 4 4 5
> dim(x) <- c(2,3)
> x
[,1] [,2] [,3]
[1,] 2 6 4
[2,] 3 4 5
Waarbij dim de dimensies van de matrix ‘x’ bepaalt. Dit is ook een attribuut van een object (maar geen intrinsieke). Over de laatstgenoemde functies (c en matrix) valt nog veel te zeggen. Deze komen in de loop van de cursus uitgebreider aan bod.
Oefening
Maak eerst een vector ‘y’ met 8 waardes. De eerste en laagste waarde is 4, waarna de waarden oplopen met stappen van 2 tot het getal 18. Maak daarna er daarna een matrix met 4 rijen en 2 kolommen van.
Einde
Een mogelijk antwoord staat hiernaast in de kantlijn.