Chapter 4 Data

In dit hoofdstuk maken we gebruik van de mpg data en het tidyverse package.

library(tidyverse)

4.1 Soorten data

Data kan in verschillende vormen voorkomen. De basis datasoorten die R kent zijn: character, numeric, integer, complex, en logical. In de R Environment kan je per variabelen zien welke datasoort het is.

Variabelen hebben in R de mogelijkheid om ingevoerd te worden als numeriek of als factor. Een factor is een vector waarbij de getallen ook een bepaalde betekenis hebben. Soms doen functies in R het niet als de variabele niet als numeriek of factor gezien wordt. Indien dit het geval is, kan een variabele aangepast worden naar, bijvoorbeeld, een factor. Hiervoor maken we gebruik van de functie as.factor() vanuit het haven package. Ook kan er met behulp van de functie is.factor() gecontroleerd worden of een variabele een factor is (en is.numeric() voor het controleren op een numerieke variabele). Let op dat het bij het volgende voorbeeld drv in een factor is veranderd puur om te laten zien dat hoe het mogelijk is.

is.factor(mpg$drv)
## [1] TRUE

De variabele drv is oorspronkelijk geen factor variabele, dit gaan we nu veranderen.

library(haven)
mpg$drv <- as.factor(mpg$drv)

We kunnen nu nogmaals controleren of drv een factor variabele is en daarbij zien we dat dat het geval is.

is.factor(mpg$drv)
## [1] TRUE

4.2 Attributes

Om te weten welke mogelijke scores een variabele kan aannemen, kun je in R de ‘eigenschappen’ van een variabele opvragen. Als er een beperkt aantal mogelijke antwoorden zijn, zal R die mogelijkheden weergeven. Als er aan numerieke waarden nog een woordelijke betekenis is toegekend (dat gebeurt nog wel eens met uit SPSS geïmporteerde data), zul je die ook zien staan. De code om deze informatie op te vragen is attributes().

attributes(mpg$drv)
## $levels
## [1] "4" "f" "r"
## 
## $class
## [1] "factor"

4.3 Specifieke antwoorden terugvinden

De manier waarop R functioneert is niet erg gericht op informatie over individuele respondenten, maar het is wel mogelijk om bepaalde informatie te vinden over respondenten. Als je over een bepaalde respondent informatie wilt hebben, zul je een variabele nodig hebben die het respondentnummer weergeeft. Vaak zitten die al in de dataset besloten, maar wanneer dat niet zo is, kun je de volgende code gebruiken:

mpg$ID <- seq.int(nrow(mpg))

Als je deze variant gebruikt om een nieuwe variabele te maken, zal de nieuwe kolom in de dataset altijd de naam ID hebben. Meestal geven we de variabele die respondentnummer aangeeft deze naam. Met het tidyverse package heb je ook de mogelijkheid om met mutate() een respondentnummer variabele te creëren. Dat ziet er dan als volgt uit:

mpg <- mutate(mpg, ID= row_number())

Wanneer je een variabele hebt aangemaakt die respondentnummers heeft toegekend aan alle cases in de dataset, kun je deze respondentnummers gebruiken om de waarden die deze respondenten hebben op specifieke variabelen op te vragen. Dat ziet er dan als volgt uit:

mpg$class[mpg$ID == 10]
## [1] "compact"

Deze functie kan ook gebruikt worden met andere variabelen dan een ID variabele.