Chapter 3 R environment

3.1 Objecten

Een belangrijk onderdeel van R is het opslaan van informatie in bijvoorbeeld objecten. Het opslaan van informatie in een object kan door naam <- informatie.

a <- 10

We hebben nu een object a gemaakt met waarde 10, dit object is nu te zien in het scherm rechtsboven bij environment. Een object kan bekeken worden met de code View() of print(). Een object kan verwijderd worden met remove().

print(a)
## [1] 10

Nu we een object hebben gemaakt, kan deze gebruikt worden.

a*7
## [1] 70

Het antwoord kunnen we ook opslaan als object.

antwoord <- a*7

Vervolgens kan er gecontroleerd worden of het antwoord gelijk is aan een bepaalde waarde, bijvoorbeeld 50.

antwoord == 50 
## [1] FALSE

3.2 Vectoren

Een vector is een reeks geordende data-elementen van hetzelfde basistype. Je kunt een vector maken door de elementen in c(...) te plaatsen. Een voorbeeld van een vector met 3 discrete getallen is

c(4,8,10)
## [1]  4  8 10

Een vector kan ook gemaakt worden van logical values, dus true of false:

c(TRUE,TRUE,FALSE,FALSE,TRUE,FALSE)
## [1]  TRUE  TRUE FALSE FALSE  TRUE FALSE

Of van string values, dus die tekst bevatten. Hierbij is het van belang dat de tekst tussen " geplaatst wordt:

c("rood", "groen", "blauw", "paars")
## [1] "rood"  "groen" "blauw" "paars"

Vectoren kunnen opgeslagen worden als objecten door voor de functie <- te zetten. Nadat de vector als object in de environment staat, kan de vector gebruikt worden.

Numerieke vectoren kunnen op verschillende manieren gebruikt worden.

vector <- c(1, 3, 5, 6, 7)
vector + 10
## [1] 11 13 15 16 17

Ook het gemiddelde van een vector kan uitgerekend worden.

mean(vector)
## [1] 4.4
(vector-mean(vector))/sd(vector)
## [1] -1.4117732 -0.5813184  0.2491364  0.6643638  1.0795912

3.2.1 Toegang tot elementen in vectoren

Door middel van [] kunnen elementen binnen een vector bekeken worden. Voor het eerste element ziet dat er als volgt uit

vector[1]
## [1] 1

Voor elementen 2 en 4 zo

vector[c(2, 4)]
## [1] 3 6

En voor elementen 3 tot en met 5 zo

vector[c(3: 5)]
## [1] 5 6 7

Wanneer een elemenent niet beschikbaar is geeft R de code NA

vector[9]
## [1] NA

3.3 Dataframes

Een dataframe is een overzicht van verschillende variabelen. Elke kolom bevat de waarden van één variabele en elke rij een set waarden op alle variabelen van een respondent. Dataframes worden vaak vanuit andere programma’s geopend in R, maar het is ook mogelijk om een eigen dataframe te maken. Dit gaan we in het volgende voorbeeld doen:

Statistiekcijfers <- data.frame(
   ID = c (1:5), 
   Naam = c("Anne", "Rik", "Michelle", "Saar", "Bert"),
   Cijfer_stat1a = c(6.8, 9.1, 5.5 , 2.5, 7.0))

Na het uitvoeren van deze code, staat onder Data in de Environment nu ook Statistiekcijfers.

print(Statistiekcijfers)
##   ID     Naam Cijfer_stat1a
## 1  1     Anne           6.8
## 2  2      Rik           9.1
## 3  3 Michelle           5.5
## 4  4     Saar           2.5
## 5  5     Bert           7.0

Over het algemeen zijn dataframes groter dan de dataframe die we zelf gemaakt hebben, vaak hebben ze meer variabelen en hebben ze veel respondenten. Ook bij deze dataframes is het mogelijk om de print() functie te gebruiken. We zullen dit bekijken bij de mpgdataframe. Hiervoor moeten we het tidyverse package gebruiken.

library(tidyverse)
print(mpg)
## # A tibble: 234 × 14
##    manufacturer model      displ  year   cyl trans drv     cty   hwy fl    class
##    <chr>        <chr>      <dbl> <int> <int> <chr> <fct> <int> <int> <chr> <chr>
##  1 audi         a4           1.8  1999     4 auto… f        18    29 p     comp…
##  2 audi         a4           1.8  1999     4 manu… f        21    29 p     comp…
##  3 audi         a4           2    2008     4 manu… f        20    31 p     comp…
##  4 audi         a4           2    2008     4 auto… f        21    30 p     comp…
##  5 audi         a4           2.8  1999     6 auto… f        16    26 p     comp…
##  6 audi         a4           2.8  1999     6 manu… f        18    26 p     comp…
##  7 audi         a4           3.1  2008     6 auto… f        18    27 p     comp…
##  8 audi         a4 quattro   1.8  1999     4 manu… 4        18    26 p     comp…
##  9 audi         a4 quattro   1.8  1999     4 auto… 4        16    25 p     comp…
## 10 audi         a4 quattro   2    2008     4 manu… 4        20    28 p     comp…
## # ℹ 224 more rows
## # ℹ 3 more variables: ID <int>, mean_be <dbl>, cylREC2 <dbl>

Deze dataframe is een stuk groter dan de statstiekcijfers dataframe die we gemaakt hebben. De mpg dataframe bevat zo veel rijen en kolommen dat R niet alle regels afdrukt. Onderaan de rijen zie je de volgende code: ## # ℹ 224 more rows. Deze code geeft dus aan dat naast de 10 rijen die weergeven zijn er nog 224 rijen zijn.

Wanneer je toch geïnteresseerd bent in de gehele tabel, kun je door een pipe toe te voegen aan je code, op de volgende regel print (n = …) gebruiken om meer regels te zien en colnames() om de rest van de namen van de variabelen ook te zien. Deze functie zal verderop in de handleiding ook gebruikt worden. Ook kun je met View() de volledige dataframe inzien.

mpg %>%
  print(n=20)
## # A tibble: 234 × 14
##    manufacturer model      displ  year   cyl trans drv     cty   hwy fl    class
##    <chr>        <chr>      <dbl> <int> <int> <chr> <fct> <int> <int> <chr> <chr>
##  1 audi         a4           1.8  1999     4 auto… f        18    29 p     comp…
##  2 audi         a4           1.8  1999     4 manu… f        21    29 p     comp…
##  3 audi         a4           2    2008     4 manu… f        20    31 p     comp…
##  4 audi         a4           2    2008     4 auto… f        21    30 p     comp…
##  5 audi         a4           2.8  1999     6 auto… f        16    26 p     comp…
##  6 audi         a4           2.8  1999     6 manu… f        18    26 p     comp…
##  7 audi         a4           3.1  2008     6 auto… f        18    27 p     comp…
##  8 audi         a4 quattro   1.8  1999     4 manu… 4        18    26 p     comp…
##  9 audi         a4 quattro   1.8  1999     4 auto… 4        16    25 p     comp…
## 10 audi         a4 quattro   2    2008     4 manu… 4        20    28 p     comp…
## 11 audi         a4 quattro   2    2008     4 auto… 4        19    27 p     comp…
## 12 audi         a4 quattro   2.8  1999     6 auto… 4        15    25 p     comp…
## 13 audi         a4 quattro   2.8  1999     6 manu… 4        17    25 p     comp…
## 14 audi         a4 quattro   3.1  2008     6 auto… 4        17    25 p     comp…
## 15 audi         a4 quattro   3.1  2008     6 manu… 4        15    25 p     comp…
## 16 audi         a6 quattro   2.8  1999     6 auto… 4        15    24 p     mids…
## 17 audi         a6 quattro   3.1  2008     6 auto… 4        17    25 p     mids…
## 18 audi         a6 quattro   4.2  2008     8 auto… 4        16    23 p     mids…
## 19 chevrolet    c1500 sub…   5.3  2008     8 auto… r        14    20 r     suv  
## 20 chevrolet    c1500 sub…   5.3  2008     8 auto… r        11    15 e     suv  
## # ℹ 214 more rows
## # ℹ 3 more variables: ID <int>, mean_be <dbl>, cylREC2 <dbl>

We hebben de functies nu alleen gebruikt bij het weergeven van een dataframe, maar ze kunnen ook gebruikt worden bij de zogenoemde tibbles. Dit is wanneer R je data presenteert in een tabel die afgedrukt wordt. In hoofdstuk 4 zal zichtbaar zijn hoe R tibbles weergeeft. Hier kan de code print() gebruikt worden om meer informatie te zien dan de informatie die weergeven wordt.