Eenvoudige statistische calculaties uitvoeren in R

R is een programmeertaal die uit de statistiek-wereld komt. Hierdoor zitten er standaard al zeer veel statistische functies in R. Deze functies zijn zeer eenvoudig te gebruiken met R, terwijl je daar in andere programmeertalen veel meer moeite voor zou moeten doen. In de komende voorbeelden worden er een aantal statische functies gebruikt op de mtcars dataset.

Het gemiddelde berekenen in R met de mean() functie:

Met de mean() functie kun je het gemiddelde berekenen van een variabele in de dataset. Dit moet natuurlijk wel een numerieke vector zijn zijn:

mean(mtcars$hp)
## [1] 146.6875

Soms komt het voor dat een variabele lege waarden bevat. Dit worden in de statistiek "missing values" genoemd en worden in R met NA aangegeven ("Not Available"). Dit zorgt er voor dat je geen berekening kunt doen over die variabele. Echter kun je als nog de berekening uitvoeren door de NAs in de variabele over te slaan. Dit doe je door het na.rm argument toe te voegen aan de mean() functie. De functie ziet er dan bijvoorbeeld als volgt uit:

# Een variabele/vector aanmaken die een "NA" bevat
cijfers <- c(1,4,1,5,NA,4)

mean(cijfers)
## [1] NA
# De mean functie met het "na.rm" argument
mean(cijfers,na.rm=TRUE)
## [1] 3

Zoals je kunt zien, kan de berekening door het na.rm argument wel uitgevoerd worden. De NA wordt hiermee namelijk overgeslagen in de berekening. Hierdoor wordt de rekensom: (1 + 4 + 1 + 5 + 4) / 5 = 15 / 5 = 3 .

De standaard-afwijking en variantie berekenen met de sd() en var() functies in R:

Bij statistisch onderzoek zal je te maken krijgen met de standaard-afwijking en de variantie. Deze kun je respectievelijk berekenen met de sd() en de var() functie.

# de standaard deviatie van de pk's van de auto's berekenen
sd(mtcars$hp)
## [1] 68.56287
# de variantie van de pk's van de auto's berekenen
var(mtcars$hp)
## [1] 4700.867

De minimum en maximum bekijken in R met de min() en max() functies:

Soms wil je de minimum of maximum van een bepaalde variabele of vector weten. Hier kun je eenvoudig respectievelijk de min() en max() functies voor gebruiken.

min(mtcars$hp)
## [1] 52
max(mtcars$hp)
## [1] 335

De correlatie berekenen in R

De correlatie geeft de samenhang tussen twee variabelen weer en kan met de cor() functie worden berekend. Deze cor() functie neemt twee vectoren aan als argumenten waar de correlatie over berekend moet worden.

cor(mtcars$hp,mtcars$mpg)
## [1] -0.7761684

Een hoge negatieve correlatie, hoe meer paardenkracht (hp) des te minder zuinig de auto is (mpg, miles per gallon). Dat klinkt voor nu nog wel logisch.

In hoofdstuk 8 wordt het onderwerp correlatie uitgebreid behandeld.

Een lineair voorspellingsmodel maken in R:

Ook een lineair (regressie) model kan in R eenvoudig met de lm() functie gemaakt worden. In het volgende voorbeeld wordt een lineair voorspellingsmodel gemaakt waarmee we de zuinigheid (mpg) van een auto voorspellen op basis van de paardenkracht (hp) van de auto. Maak je geen zorgen als de uitkomst van deze functie totaal onduidelijk is. In Hoofdstuk 12 van dit boek wordt het onderwerp lineaire regressie uitgebreid behandeld en zal je in staat zijn de uitkomst van dit model uitstekend te kunnen lezen.

carsModel <- lm(mpg~hp,mtcars)

# met de summary() functie kunnen we de output van het regressiemodel uitlezen

summary(carsModel)
## 
## Call:
## lm(formula = mpg ~ hp, data = mtcars)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.7121 -2.1122 -0.8854  1.5819  8.2360 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 30.09886    1.63392  18.421  < 2e-16 ***
## hp          -0.06823    0.01012  -6.742 1.79e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.863 on 30 degrees of freedom
## Multiple R-squared:  0.6024,    Adjusted R-squared:  0.5892 
## F-statistic: 45.46 on 1 and 30 DF,  p-value: 1.788e-07

In hoofdstuk 9 wordt het onderwerp lineair regressiemodel uitgebreid behandeld.

results matching ""

    No results matching ""