Objekte – die Bausteine von R

R für SAS-Anwender:innen

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Objekte sind die Bausteine von R

  • In R ist alles ein Objekt
  • Einzelwerte (Skalare)
  • Vektoren
  • Matrizen
  • Datensätze
  • Ausgaben von Funktionen

objects abc building blocks

R für SAS-Anwender:innen

Mit Einzelelementen arbeiten

  • Objekt x erstellen
  • Wert 4 x zuweisen
  • Inhalt von x anzeigen
  • [1] zeigt: x hat 1 Element
  • y als Quadrat von x erstellen
  • Ergebnis ansehen, y eingeben
x <- 4
x
[1] 4
y <- x * x
y
[1] 16
R für SAS-Anwender:innen

Weitere Elementtypen

  • Das Wort „fish" y zuweisen
  • Den logischen Wert FALSE z zuweisen
  • y und z anzeigen
y <- "fish"
z <- FALSE
y
z
[1] "fish"

[1] FALSE
R für SAS-Anwender:innen

Einzelelemente zu einem Vektor kombinieren

# Drei Zahlen kombinieren
c(5, 3, 2)

three numbers 5 3 2

R für SAS-Anwender:innen

Einzelelemente zu einem Vektor kombinieren

# Numerischen Vektor x zuweisen
x <- c(5, 3, 2)

# Ergebnis anzeigen
x

Result

[1] 5 3 2

5 3 2 combined into column vector

R für SAS-Anwender:innen

Vektor aus Zeichenketten erstellen

# Wort child in Zeichenkettenvektor einfügen
y <- c("child")

combine three words child

R für SAS-Anwender:innen

Vektor aus Zeichenketten erstellen

# Zweites Wort young hinzufügen
y <- c("child", "young")

young

R für SAS-Anwender:innen

Vektor aus Zeichenketten erstellen

# Drittes Wort old hinzufügen
y <- c("child", "young", "old")

# y anzeigen
y

Result

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

old

R für SAS-Anwender:innen

Vektor aus logischen Elementen erstellen

# TRUE in logischen Vektor einfügen
z <- c(TRUE)
  • Erstes Element ist TRUE
  • Keine Anführungszeichen nötig
  • Logische Elemente sind TRUE oder FALSE
  • ALL CAPS muss verwendet werden
  • T und F können auch genutzt werden

combine three logical values true all caps

R für SAS-Anwender:innen

Vektor aus logischen Elementen erstellen

# FALSE als zweites Element hinzufügen
z <- c(TRUE, FALSE)

false all caps

R für SAS-Anwender:innen

Vektor aus logischen Elementen erstellen

# Drittes Element TRUE hinzufügen
z <- c(TRUE, FALSE, TRUE)

# z anzeigen
z

Result

[1]  TRUE FALSE TRUE

true all caps

R für SAS-Anwender:innen

Matrix aus Vektoren erstellen

#  Numerischen Vektor a erstellen
a <- c(5.0, 3.1, 2.4)
  • Matrix wird aus Vektoren erstellt
  • Vektoren müssen gleichen Typ und gleiche Länge haben

first vector number 5.0 3.1 2.4

R für SAS-Anwender:innen

Matrix aus Vektoren erstellen

#  Numerischen Vektor a erstellen
a <- c(5.0, 3.1, 2.4)

#  Numerischen Vektor b erstellen
b <- c(4.1, 2.2, 5.4)

second vector 4.1 2.2 5.4

R für SAS-Anwender:innen

Matrix aus Vektoren erstellen

# m aus a,b mit 3 Zeilen und 2 Spalten erstellen
m <- matrix(c(a, b),
            nrow = 3,
            ncol = 2)

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

vectors combined into matrix 3 rows 2 columns

R für SAS-Anwender:innen

Data Frame aus Vektoren erstellen

# Numerische Variable score erstellen
score <- c(5.0, 3.1, 2.4)

# score anzeigen
score
     5.0 3.1 2.4
  • Data Frames werden aus Vektoren erstellt
  • Vektoren müssen gleiche Länge haben
  • Vektoren können unterschiedliche Typen haben

numeric vector with numbers 5.0 3.1 2.4

R für SAS-Anwender:innen

Data Frame aus Vektoren erstellen

# Zeichenketten-Variable age erstellen
age <- c("child","young","old")

# age anzeigen
age
     "child" "young" "old"

character vector with words child young old

R für SAS-Anwender:innen

Data Frame aus Vektoren erstellen

# Logische Variable test erstellen
test <- c(TRUE, FALSE, TRUE)

# test anzeigen
test
     TRUE FALSE TRUE

vector logical values true false true

R für SAS-Anwender:innen

Data Frame aus Vektoren erstellen

# Zu Data Frame kombinieren
d <- data.frame(score, age, test)

# Data Frame anzeigen
d
     score   age  test
       5.0 child  TRUE
       3.1 young FALSE
       2.4   old  TRUE

three vectors combined into data frame

R für SAS-Anwender:innen

Objekttyp bestimmen

  • Numerischen Vektor x erstellen
  • class von x bestimmen
  • Struktur str von x ansehen
x <- c(5, 3, 2)
class(x)
 [1] "numeric"
str(x)
 num [1:3] 5 3 2
R für SAS-Anwender:innen

Objekttyp bestimmen

  • Zeichenkettenvektor y; logischer Vektor z
  • class von y und z bestimmen
  • Struktur str von y und z ansehen
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 für SAS-Anwender:innen

Objekttyp bestimmen

  • Matrix m erstellen
  • Klasse von m abfragen
  • Struktur str von m ansehen
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 für SAS-Anwender:innen

Objekttyp bestimmen

  • data.frame d erstellen
  • class von d abfragen
  • Struktur str von d ansehen
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 Der Faktortyp wurde hier für die 3 Alterskategorien automatisch erzeugt.
R für SAS-Anwender:innen

Lass uns Datenobjekte in R erstellen und verändern

R für SAS-Anwender:innen

Preparing Video For Download...