Basisvaardigheden in R: Gebruik van R als een rekenmachine
Datatypes
- Numeriek datatype: Dit zijn getallen, mogelijk in wetenschappelijke notatie. Ze kunnen zijn
- gehele getallen ( \(\ldots, -2,-1,0,1,2,\ldots\) );
- kommagetallen, dat wil zeggen getallen met een decimaalteken, zoals \(1.23\), \(1.234\mathrm{e}56\) of \(1.234\mathrm{E}56\);
- complexe getallen zoals \(2+3\ii\).
- Karakter datatype: Dit gaat allemaal over letters, woorden. en andere karakters. Een reeks karakters wordt ook wel een string genoemd. Vergeet niet om de karakters tussen aanhalingstekens te plaatsen. Bijvoorbeeld 'vijftien' of 'leeftijd van het kind'.
- Logische gegevens: Dit betreft binaire keuzes, zoals "ja" of "nee", "aan" of "uit", "waar", "onwaar". We zullen op een andere theoriepagina zien waarom je in vredesnaam 'ja' en 'nee' in een variabele wilt opslaan. Op dit moment volstaat het om te overwegen dat het logische datatype een van de twee mogelijke waarden heeft: waar of onwaar, en dat het bedoeld is om de twee waarheidswaarden weer te geven die in de logica worden gebruikt.
- Factor datatype: dit is niet echt een basaal datatype, maar meer een datastructuur. Niettemin plaatsen we het in deze lijst omdat het kan worden beschouwd als een type dat wordt gebruikt voor categorale gegevens (factoren voor een boekobject kunnen bijvoorbeeld zijn het genre, de kleur van de omslag, de titel, de naam van de auteur, de naam van de uitgever, enzovoort). Zie de pagina Werken met factoren als je meer wilt weten over dit type.
Waarom moet je iets weten over datatypes? Het is belangrijk dat je het datatype van je variabelen kent, omdat je hiermee de juiste bewerkingen kan uitvoeren. Je kunt bijvoorbeeld getallen optellen, letterreeksen samenvoegen of waarden vergelijken, maar je kunt geen letterreeks aan een getal toevoegen. Als je de datatypes kent, kun je de juiste operatoren gebruiken en fouten voorkomen.
Uitleg
Laten we eens kijken naar enkele voorbeelden van hoe je variabelen van verschillende datatypes kunt maken en hun eigenschappen kan controleren.
Voer de instructies in het voorbeeld aan de rechterkant uit en bekijk de uitvoer in R. De functie str()
geeft je de interne structuur van de variabele, d.w.z. het datatype en de inhoud. Als je alleen het datatype wilt weten, ku je de functie typeof()
of class()
gebruiken. Er zijn ook functies zoals is.numeric()
, is.character()
en is.factor()
om te testen of een object van een bepaald datatype is
Maak je nog geen zorgen over het niet verder bespreken van het logische datatype of dat van factor. Op dit punt is het doel vooral om je te laten weten dat er meerdere datatypes zijn en dat twee daarvan factor en logical worden genoemd. Je zult later meer hierover leren.
Voorbeeldscript
# maak een numerieke variabele
leeftijd <- 15
str(leeftijd)
is.numeric(leeftijd)
# maak een karakter variabele
leeftijd <- "vijftien"
str(leeftijd)
is.character(leeftijd)
# maak een factor variabele
lftdn <- factor(c(16, 18, 16, 21, 21, 16))
str(lftdn)
# maak een logische variabele
volwassenQ <- TRUE
str(volwassenQ)
is.logical(volwassenQ)
Uitleg
R wijst datatypes automatisch toe aan variabelen, zoals we hierboven hebben gezien. Maar R heeft verschillende functies om variabelen van het ene datatype naar het andere te converteren. Dit soort conversie wordt in het Engels coercion genoemd. Hieronder staan enkele voor dit doel veelgebruikte functies:as.character()
: converteer object naar het karakter type.as.numeric()
: converteer object naar een numeriek type.as.logical()
: converteer object naar een logisch type.
Probeer een paar instructies uit!
Voorbeeldscript
# converteer een getal naar een karakter
x <- 5
x <- as.character(x)
str(x)
# uitvoer: chr "5"
# logisch naar numeriek converteren
v <- TRUE
v <- as.numeric(v)
str(v)
# uitvoer: num 1
Uitleg
R heeft een speciaal gegevenstype (of eigenlijk een klasse van objecten) om datums te representeren. De huidige datum kan worden opgehaald met de functie Sys.Date()
. De functie format()
biedt verschillende opties voor het formatteren van de weergave van een datum. De functies weekdays()
en months()
retourneren respectievelijk de naam van de dag van de week en de maand voor een gegeven datum.
Een geheel getal kan worden omgezet naar een datum via de conversiefunctie as.Date()
en de optie origin
stelt je in staat om een referentiedatum te kiezen.
Zie de voorbeeldsessie aan de rechterkant.
Voorbeeldsessie
> vandaag <- Sys.Date() > typeof(vandaag) [1] "double" > class(vandaag) [1] "Date" > str(vandaag) Date[1:1], format: "2023-09-22"
> format(vandaag, "%d %b %y") [1] "22 Sep 23" > weekdays(vandaag) [1] "Friday"
> twee_weken_later <- as.Date(14,
+ origin = vandaag)
> twee_weken_later
[1] "2023-10-06"
> format(twee_weken_later,
+ "%d %b %y")
[1] "06 Oct 23"
Lijst van logische test- en conversiefuncties
Type | Logische test |
Conversiefunctie |
numeriek | is.numeric() |
as.numeric() |
complex | is.complex() |
as.complex() |
karakter | is.character() |
as.character() |
logisch | is.logical() |
as.logical() |
factor | is.factor() |
as.factor() |