Objecten: de bouwstenen van R

R voor SAS-gebruikers

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Objecten zijn de bouwstenen van R

  • Alles in R is een object
  • Enkele waarden (scalars)
  • Vectoren
  • Matrixen
  • Datasets
  • Output van functies

objecten abc bouwstenen

R voor SAS-gebruikers

Werken met losse elementen

  • Maak object x
  • Ken waarde 4 toe aan x
  • Bekijk inhoud van x
  • [1] betekent dat x 1 element heeft
  • Maak y als het kwadraat van x
  • Bekijk resultaat, typ y
x <- 4
x
[1] 4
y <- x * x
y
[1] 16
R voor SAS-gebruikers

Andere type elementen

  • Ken het woord "fish" toe aan y
  • Ken de logische waarde FALSE toe aan z
  • Bekijk y en z
y <- "fish"
z <- FALSE
y
z
[1] "fish"

[1] FALSE
R voor SAS-gebruikers

Combineer losse elementen tot een vector

# Combineer drie getallen
c(5, 3, 2)

drie getallen 5 3 2

R voor SAS-gebruikers

Combineer losse elementen tot een vector

# Ken numerieke vector toe aan x
x <- c(5, 3, 2)

# Bekijk resultaat
x

Resultaat

[1] 5 3 2

5 3 2 samengevoegd tot kolomvector

R voor SAS-gebruikers

Maak een vector van tekstelementen

# Voeg woord child toe aan karaktervector
y <- c("child")

combineer drie woorden child

R voor SAS-gebruikers

Maak een vector van tekstelementen

# Voeg tweede woord young toe
y <- c("child", "young")

young

R voor SAS-gebruikers

Maak een vector van tekstelementen

# Voeg derde woord old toe
y <- c("child", "young", "old")

# Bekijk y
y

Resultaat

[1] "child" "young" "old"

old

R voor SAS-gebruikers

Maak een vector van logische elementen

# Voeg TRUE toe aan logische vector
z <- c(TRUE)
  • Eerste element is TRUE
  • Geen dubbele aanhalingstekens nodig
  • Logische waarden zijn TRUE of FALSE
  • ALL CAPS is vereist
  • T en F kunnen ook

combineer drie logische waarden true hoofdletters

R voor SAS-gebruikers

Maak een vector van logische elementen

# Voeg FALSE toe als tweede element
z <- c(TRUE, FALSE)

false hoofdletters

R voor SAS-gebruikers

Maak een vector van logische elementen

# Voeg derde element TRUE toe
z <- c(TRUE, FALSE, TRUE)

# Bekijk z
z

Resultaat

[1]  TRUE FALSE TRUE

true hoofdletters

R voor SAS-gebruikers

Maak een matrix van vectoren

#  Maak numerieke vector a
a <- c(5.0, 3.1, 2.4)
  • Matrix gemaakt van vectoren
  • Vectoren moeten hetzelfde type en dezelfde lengte hebben

eerste vector getallen 5.0 3.1 2.4

R voor SAS-gebruikers

Maak een matrix van vectoren

#  Maak numerieke vector a
a <- c(5.0, 3.1, 2.4)

#  Maak numerieke vector b
b <- c(4.1, 2.2, 5.4)

tweede vector 4.1 2.2 5.4

R voor SAS-gebruikers

Maak een matrix van vectoren

# Maak m van a,b met 3 rijen 2 kolommen
m <- matrix(c(a, b),
            nrow = 3,
            ncol = 2)

# Bekijk m
m
          [,1] [,2]
     [1,]  5.0  4.1
     [2,]  3.1  2.2
     [3,]  2.4  5.4

vectoren samengevoegd tot matrix 3 rijen 2 kolommen

R voor SAS-gebruikers

Maak een data frame van vectoren

# Maak numerieke variabele score
score <- c(5.0, 3.1, 2.4)

# Bekijk score
score
     5.0 3.1 2.4
  • Data frames gemaakt van vectoren
  • Vectoren moeten dezelfde lengte hebben
  • Vectoren mogen verschillende types hebben

numerieke vector met getallen 5.0 3.1 2.4

R voor SAS-gebruikers

Maak een data frame van vectoren

# Maak karaktervariabele age
age <- c("child","young","old")

# Bekijk age
age
     "child" "young" "old"

karaktervector met woorden child young old

R voor SAS-gebruikers

Maak een data frame van vectoren

# Maak logische variabele test
test <- c(TRUE, FALSE, TRUE)

# Bekijk test
test
     TRUE FALSE TRUE

vector logische waarden true false true

R voor SAS-gebruikers

Maak een data frame van vectoren

# Combineer tot data frame
d <- data.frame(score, age, test)

# Bekijk data frame
d
     score   age  test
       5.0 child  TRUE
       3.1 young FALSE
       2.4   old  TRUE

drie vectoren gecombineerd tot data frame

R voor SAS-gebruikers

Bepaal objecttype

  • Maak numerieke vector x
  • Bepaal de class van x
  • Bekijk de structuur str van x
x <- c(5, 3, 2)
class(x)
 [1] "numeric"
str(x)
 num [1:3] 5 3 2
R voor SAS-gebruikers

Bepaal objecttype

  • Karaktervector y; logische vector z
  • Bepaal de class van y en z
  • Bekijk de structuur str van y en z
str(y)
 chr [1:3] "child" "young" "old"
str(z)
 logi [1:3] TRUE FALSE TRUE
y <- c("child","young","old")
z <- c(TRUE, FALSE, TRUE)
class(y)
 [1] "character"
class(z)
 [1] "logical"
R voor SAS-gebruikers

Bepaal objecttype

  • Maak matrix m
  • Haal class van m op
  • Bekijk structuur str van m
str(m)
 num [1:3, 1:2] 5 3.1 2.4 4.1 2.2 5.4
a <- c(5.0, 3.1, 2.4)
b <- c(4.1, 2.2, 5.4)
m <- matrix(c(a, b),
            nrow = 3,
            ncol = 2)
class(m)
 [1] "matrix"
R voor SAS-gebruikers

Bepaal objecttype

  • Maak data.frame d
  • Haal class van d op
  • Bekijk structuur str van d
str(d)
'data.frame':    3 obs. of 3 variables:
 $ score: num  5 3.1 2.4
 $ age  : Factor w/ 3 levels
         "child","old",..: 1 3 2
 $ test : logi  TRUE FALSE TRUE
score <- c(5.0, 3.1, 2.4)
age <- c("child","young","old")
test <- c(TRUE, FALSE, TRUE)
d <- data.frame(score, age, test)
class(d)
 [1] "data.frame"
1 Het type Factor is hier automatisch aangemaakt voor de 3 leeftijdscategorieën.
R voor SAS-gebruikers

Laten we gegevensobjecten in R maken en bewerken

R voor SAS-gebruikers

Preparing Video For Download...