Beginnen met R

Albart Coster

John Bastiaansen

Wat is R

Zie bijvoorbeeld dit artikel in New York Times: http://goo.gl/Ldz14

Installeer R

Begin met RStudio

Screenshot van RStudio

Screenshot van RStudio

Basisgebruik van R: rekenmachine

1 + 2
## [1] 3
3/2
## [1] 1.5
(1 + 2) * (3/5)
## [1] 1.8
5^2
## [1] 25
sqrt(5^2)
## [1] 5

Basisgebruik van R: objecten

R slaat gegevens op in objecten van verschillende types, in programmeerjargon classes:

## classe numeric
n <- 1
class(n)
## [1] "numeric"
nn <- c(1, 2, 4, 5)
class(nn)
## [1] "numeric"
## classe character
ch <- "a"
class(ch)
## [1] "character"
naam <- "albart"
class(naam)
## [1] "character"
hnaam <- c("albart", "coster")
class(hnaam)
## [1] "character"
## classe datum
d <- as.Date("2013-03-09")
class(d)
## [1] "Date"
dd <- as.Date(c("2013-03-08", "2013-03-09"))
class(dd)
## [1] "Date"
## tabellen van classe matrix
m <- matrix(1:4, ncol = 2)
m
##      [,1] [,2]
## [1,]    1    3
## [2,]    2    4
class(m)
## [1] "matrix"
## tabellen van classe data.frame
dieren <- data.frame(DIER = c("DIER 1", "DIER 2", "DIER 3", "DIER 4"), 
    GEB_DATUM = as.Date(c("2010-01-01", "2011-01-01", "2012-01-01", "2013-01-01")), 
    GEWICHT = c(600, 605, 610, 40))
dieren
##     DIER  GEB_DATUM GEWICHT
## 1 DIER 1 2010-01-01     600
## 2 DIER 2 2011-01-01     605
## 3 DIER 3 2012-01-01     610
## 4 DIER 4 2013-01-01      40
class(dieren)
## [1] "data.frame"

Basisgebruik van R: functies

R beschikt over functies om dingen te doen met gegevens. De functie class geeft bijvoorbeeld de classe van een object weer, functie c verbindt (concateneerd) objecten achter elkaar, functieS matrix en data.frame zijn er om objecten van classe matrix en data.frame te maken. Functies zijn dus eigenlijk de gereedschappen in R, en zijn ook gewoon objecten. Functies worden uitgevoerd door de naam van de functie te typen met daarachter (), eventueel met opdrachten, argumenten er binnen in.

Belangrijke functies:

Basisgebruik van R: hulp en documentatie

Basisgebruik van R: inlezen van gegevens

Download bestand rworkshop.dairyconsult.nl/bestanden/melkproductie.dat en sla het op een logische plaats op, bijvoorbeeld Mijn Documenten\Rworkshop

We moeten R eerst vertellen dat hij in Mijn Documenten\Rworkshop moet kijken

Werkmap aanpassen in RStudio

Werkmap aanpassen in RStudio

setwd("E:/Mijn Documenten/Rworkshop")

Basisgebruik van R: inlezen van gegevens 2

Eerst even controleren of het bestand melkproductie.dat hier staat

getwd()
## [1] "C:/Users/John/Dropbox/Rworkshop_maart_2013/begin"
file.exists("melkproductie.dat")
## [1] TRUE

Nu lezen we het in een object en bekijken de eerste 6 regels

productie <- read.table("melkproductie.dat", header = TRUE)
head(productie, n = 6)
##        DATUM  ID NLACT DIL KG_MELK VET_PERC EIWIT_PERC  SCC
## 1 2012-04-28   3    11 102    50.2     3.81       3.13   75
## 2 2012-04-28  83     9 181    30.8     3.89       3.39  127
## 3 2012-04-28  95     8 317    31.8     3.59       3.11   97
## 4 2012-04-28 137     7 161    41.6     3.58       3.29   17
## 5 2012-04-28 148     8 191    31.2     3.88       3.21 3168
## 6 2012-04-28 168     7 207    34.2     3.54       3.20   55

Basisgebruik van R: berekeningen

productie is een tabel, in R is dit een data.frame. Tabel heeft verschillende kolommen en we bereiken deze kolommen als volgt: productie$KG_MELK.

Het aantal aanwezige dieren komt overeen met het aantal rijen in tabel productie:

nrow(productie)
## [1] 687

De gemiddelde productie kunnen we berekenen met de functie mean, als we weten dat kolom KG_MELK de producties bevat:

mean(productie$KG_MELK)
## [1] 39.8

Basisgebruik van R: grafiek

Een grafiek maakt veel duidelijk, in R zijn veel mogelijkheden om grafieken te maken. Wij gebruiken het pakket ggplot2 hiervoor. We moeten het pakket eerst installeren, met functie install.packages, en vervolgens laden, met functie require:

install.packages("ggplot2")
require(ggplot2)

Om de grafiek te maken gebruiken we functie qplot:

qplot(y = KG_MELK, x = DIL, data = productie)
plot of chunk begin8

plot of chunk begin8

Samenvatting

In dit onderdeel van de workshop hebben we het volgende behandeld:

Terug naar hoofdpagina van de cursus