Simpele statistische functies gebruiken in R

Een statistische programmeertaal zou natuurlijk geen statistische programmeertaal zijn als het geen statistische functies zou bevatten. Vanwege het eenvoudige gebruik van deze functies in R, is het een van de favoriete hulpmiddelen van o.a. statistici, data analisten en data scientists. Waar je bij andere programma's meer moeite moet doen om bepaalde statistische functies uit te voeren, heeft R deze eenvoudige statistische functies al ingebouwd. De simpele statistische functies worden in de komende voorbeelden gedemonstreerd.

Willekeurige data (normaal verdeeld) genereren met R

Met de rnorm() functie kun je getallen genereren die normaal zijn verdeeld. Om dit op een simpele manier te doen, kun je twee argumenten aan de functie geven:

  • n: Het aantal getallen dat je wilt genereren;
  • m: De mean, het gemiddelde, van de normaal verdeelde getallen vaststellen. Deze staat op 0 als dit argument niet wordt ingevuld.
getallen <- rnorm( n = 100, m =30)

# of simpelweg
getallen <- rnorm(1000, 300)

In dit geval hebben we een reeks van 1000 getallen gegenereerd met een gemiddelde van 300.

Het gemiddelde, de standaardafwijking en variantie berekenen in R

Met de mean(), sd(), var() functie worden respectievelijk het gemiddelde, de standaard-afwijking en de variantie van de data berekend:

# Het gemiddelde uitrekenen
mean(getallen)
## [1] 300.047
# De standaardafwijking uitrekenen
sd(getallen)
## [1] 1.020057
# De variantie uitrekenen
var(getallen)
## [1] 1.040517

In hoofdstuk 4 wordt verder ingegaan op de statistische functies in R. Daarbij wordt uitgelegd hoe je de statistische functies handig kunt gebruiken om een dataset te analyseren.

Krachtige berekeningen uitvoeren in R

Door je creativiteit te gebruiken en er handiger in te worden, kan R als een zeer krachtige rekenmachine worden gebruikt waarmee je snel uitgebreide berekeningen kunt uitvoeren. Hier worden een aantal voorbeelden gegeven. Je zult zien dat je heel handig kunt zijn door gebruik te maken van gedefinieerde variabelen en de datastructuren in R.

# getallen in een vector

waarden1 <- c(11,12,35,36)
waarden1
## [1] 11 12 35 36
# alle leeftijden met 1 verhogen

waarden1 +1
## [1] 12 13 36 37
# vector met nieuwe getallen

waarden2 <- c(2,3,1,5)
waarden2
## [1] 2 3 1 5
# getallen uit waarden1 en waarden2 met elkaar vermenigvuldigen

waarden1 * waarden2
## [1]  22  36  35 180
# stralen cirkels

stralen_cirkels <- c(3,5,7,12)
oppervlakten_cirkels <- stralen_cirkels^2 * pi
oppervlakten_cirkels
## [1]  28.27433  78.53982 153.93804 452.38934

Handige berekeningen in R: Een voorbeeldsituatie

Na een beetje handigheid, kun je ook voor berekeningen in kleine situaties handig gebruik maken van R. Neem bijvoorbeeld de volgende situatie:

Er zijn 30 kinderen in een klas. Voor deze kinderen moeten er stoelen worden besteld die zo goed mogelijk bij de lengtes van deze kinderen passen. Er zijn 2 maten mogelijk en worden als volgt verdeeld:

  • Tussen de 1 en 1.20 meter krijgt stoel A, die 35 euro per stuk kosten;
  • Groter dan 1.20 meter krijgt stoel B, die 45 euro per stuk kosten.

Vraag: Op basis van de lengtes van de kinderen. Wat zijn de totale kosten van de stoelen die voor de kinderen besteld moeten worden?

Hier wordt de runif() functie gebruikt om 30 willekeurige getallen te genereren die variëren van 1 tot 1.40. In een echte situatie hoef je natuurlijk geen willekeurige getallen te genereren

# we gebruiken de runif functie om de lengtes van de kinderen te genereren.

lengtes_kinderen <- runif(30, min = 1, max = 1.4)
lengtes_kinderen
##  [1] 1.143297 1.143089 1.264307 1.278705 1.296934 1.342856 1.266857
##  [8] 1.207941 1.256552 1.223198 1.023994 1.138107 1.025010 1.188503
## [15] 1.193759 1.255954 1.307168 1.349843 1.389809 1.102053 1.297670
## [22] 1.374646 1.171067 1.139555 1.067860 1.030081 1.344348 1.380633
## [29] 1.002270 1.220730
# De rekensom

# tel alle waarden op uit de array "lengtes_kinderen" 
# die kleiner of gelijk zijn dan 1.20. Vermenigvuldig dit aantal met 35

# kosten voor de groep kinderen die kleiner dan of 1.20 meter zijn
kosten_groepA <- sum(lengtes_kinderen <= 1.20) * 35

# kosten voor de groep kinderen die groter dan 1.20 meter zijn
kosten_groepB <- sum(lengtes_kinderen > 1.20) * 45

#De totale kosten van de klas optellen
totale_kosten <- kosten_groepA + kosten_groepB

totale_kosten
## [1] 1220
# Overzicht
aantal_groepA <- sum(lengtes_kinderen <= 1.20)
aantal_groepB <- sum(lengtes_kinderen > 1.20)

aantal_groepA
## [1] 13
aantal_groepB
## [1] 17
# Checken of de berekening klopt:
(15 * 35) + (15 * 45) == totale_kosten
## [1] FALSE
# De berekening klopt.

Door gebruik te maken van verschillende functies, kun je voor verschillende situaties vrij handig en snel de uitkomst uitrekenen. Maak je geen zorgen als dit nog moeilijk overkomt. Je raakt vrij snel handig genoeg met R om dit soort situaties zelf op soortgelijke manieren op te lossen.

results matching ""

    No results matching ""