In dit blog gaan we in op Data Types in R. Het blog is een onderdeel van een blogserie over R waarin we o.a. ingaan op hoe je R installeert, hoe je in RStudio werkt, data manipuleert met bijvoorbeeld dplyr of data.table, of data visualiseert in bijvoorbeeld een histogram of boxplot.
Op deze pagina lees je meer over:
- Variabelen in R
- Data types in R
- Verschillend gedrag voor verschillende data types
- Een voorbeeld a.d.h.v. Pythagoras
1. Variabelen in R
Variabelen zijn koppelingen tussen een naam en data.
- De naam van een variabele is specifiek en hoofdlettergevoelig.
- De waarde of data van een variabele is op te roepen met de naam.
1.1. Een variabele aanmaken
In R maak je een variabele als volgt aan:
- Je geeft een naam op
- Met
<-
geef je aan dat je een waarde toewijst - Je geeft een waarde op
Zie onderstaand voorbeeld:
age <- 42
- De naam:
age
- De waarde:
42
1.2. Een variabele tonen met functie print()
R bevat vele functies waarmee je opdrachten uit kunt voeren.
- Met de functie
print()
kun je de waarde van een variabele tonen.
Zie onderstaand voorbeeld:
print(age)
[1] 42
In RStudio kun je de waarde van een variabele rechts ook terugvinden in tabblad Environment.
1.3. Naamgeving van variabelen
Binnen programmeertalen zijn er vaak afspraken over de naamgeving van bijvoorbeeld variabelen.
- Dit worden ook wel de naming conventions genoemd.
- In R zijn er geen hele duidelijke afspraken.
In onze opleiding R maken we gebruik van de snake case naming convention.
Snake case houdt in:
- Gebruik van kleine letters
- Woorden scheiden door underscores
_
Enkele voorbeelden:
Goed:
house_number
age
car_price
Fout:
HouseNumber
AGE
carPrice
Zie je waarom bovenstaande voorbeelden fout zijn?
2. Datatypes in R
De data die je in een variabele opslaat heeft een datatype.
- Hiermee is het gedrag en eigenschappen van de data vastgelegd.
- Er zijn verschillende soorten data:
- Tekst
- Getallen
- Waar / niet waar
- Datums
- Lijsten
- Tabellen
- Etc.
- R kent hier verschillende datatypes voor
We gaan enkele verschillende variabelen aanmaken en hun datatypes bekijken.
In R kun je de functies is()
en typeof()
gebruiken om een datatype van een variabele te achterhalen.
2.1. Datatype voor tekst in R
- In R benoem je tekst tussen 2 dubbele apostrofs:
"<text>"
Zie onderstaand voorbeeld:
city <- "Utrecht"
En het datatype met functie typeof()
:
typeof(city)
[1] "character"
- Het datatype van tekst heet character
2.2. Datatype voor getallen in R
- In R benoem je een getal direct
Zie onderstaand voorbeeld:
count_inhabitants <- 324723
En het datatype met functie typeof()
:
typeof(count_inhabitants)
[1] "double"
Voorkomende datatypes voor getallen zijn:
- Double
- Integer
- Numeric
2.3. Logisch waarden
In R benoem je logische waarden (waar/niet waar) met TRUE
en FALSE
Zie onderstaand voorbeeld:
is_city <- TRUE
En het datatype met functie typeof()
:
typeof(is_city)
[1] "logical"
- Het datatype van een logische waarde heet logical
3. Verschillend gedrag van verschillende datatypes in R
We hebben nu al enkele datatypes gezien:
- Character
- Double
- Logical
Verschillende datatypes zorgen voor verschillende eigenschappen van de data.
Hierover leer je later in de training meer.
Dit bekijken nu een eerste voorbeeld van verschillen. Hierbij gaan we verschillende datatypes optellen.
3.1. Getallen kun je optellen
number_1 <- 10.5
number_2 <- 5
result <- number_1 + number_2
result
[1] 15.5
3.2. Tekst kun je niet optellen
Er verschijnt een foutmelding.
Tekst kun je niet samenvoegen met het +
teken.
Dit kan wel met de paste0()
functie:
number_1 <- "10.5"
number_2 <- "5"
result <- paste0(number_1, number_2)
result
[1] "10.55"
- De teksten zijn nu aan elkaar geplakt
3.3. Datatype logical (waar/niet waar) optellen
condition_1 <- TRUE
condition_2 <- FALSE
result = condition_1 + condition_2
result
[1] 1
- De het resultaat is getal 1
TRUE + FALSE
kun je zien als 1 + 0 = 1
Je hebt nu gezien dat verschillende datatypes tot verschillend gedrag leiden.
4. Voorbeeld: De stelling van Pythagoras
De stelling van Pythagoras drukt het verband uit tussen lengtes van zijden in een rechthoekige driehoek:
a²+b²=c²
- Hiervoor maken we 2 variabelen
a
enb
aan:
a <- 3
b <- 4
print(a)
print(b)
[1] 3
[2] 4
- Met
^
kunnen we kwadrateren:
c_kwadraat <- a^2 + b^2
c_kwadraat
[1] 25
Met ^(1/2)
kun je de wortel trekken:
c <- c_kwadraat^(1/2)
c
[1] 5
De schuine zijde c
is gelijk aan 5.
4.1. Hergebruik van de code
Deze code is nu gemakkelijk te hergebruiken voor andere driehoeken:
a <- 10
b <- 20
c_kwadraat <- a^2 + b^2
c <- c_kwadraat^(1/2)
c
[1] 22.36068
4.2. Versimpelen door functies
Later leren we meer over functies.
Onderstaand zie je hoe de code compacter wordt met standaard functie sqrt()
(square root):
a <- 10
b <- 20
c <- sqrt(a^2 + b^2)
c
[1] 22.36068
Om te onthouden
- Variabelen zijn koppelingen tussen een naam en data.
- Voorbeeld:
age -> 42
- Gebruik snake case voor naamgeving. Dit zijn kleine letters en woorden scheid je door underscores. Een voorbeeld is
age_limit
.
- Voorbeeld:
- De data die je in een variabele opslaat heeft een datatype.
Wil jij goed leren werken in R? Tijdens onze Opleiding R leer je alles wat je nodig hebt om zelfstandig analyses uit te voeren in R.
Peter is een ervaren data scientist en python trainer. Na zijn studie aan de Technische Universiteit Delft heeft hij zich altijd bezig gehouden met data en diverse programmeertalen. Peter heeft veel data analyses uitgevoerd en processen geautomatiseerd met Python in productieomgevingen.