Statistik

R-Kurs · Kapitel 1 · Grundlagen in R

R als Taschenrechner

R rechnet wie ein Taschenrechner

Die Grundrechenarten funktionieren wie erwartet; dazu kommen Potenz ^, Ganzzahldivision %/% und der Rest %% (Modulo).

R
3 + 4 * 2      # Punkt vor Strich
2^10           # Potenz
17 %/% 5       # Ganzzahldivision
17 %% 5        # Rest (Modulo)
Ausgabe
[1] 11
[1] 1024
[1] 3
[1] 2

Vergleiche

Vergleichsoperatoren geben TRUE oder FALSE zurück: == (gleich), != (ungleich), <, <=, >, >=.

Mini-Aufgabe

Führe die folgenden Vergleiche in R durch: a) 1=21=2, b) 121\neq2, c) 121\le2, d) 0,1+0,2=0,30{,}1+0{,}2=0{,}3.

💡 Tipp

Achte besonders auf d) — Gleitkommazahlen sind nicht exakt.

Lösung zeigen
R
1 == 2        # a)
1 != 2        # b)
1 <= 2        # c)
0.1 + 0.2 == 0.3   # d)
Ausgabe
[1] FALSE
[1] TRUE
[1] TRUE
[1] FALSE

Teil d) ist die klassische Falle: 0.1 + 0.2 ergibt intern 0.30000000000000004 und ist damit nicht exakt 0.3. Für „ungefähr gleich” nutzt man all.equal(0.1 + 0.2, 0.3).

Logische Operatoren

& (und), | (oder) und ! (Negation) verknüpfen Wahrheitswerte.

Mini-Aufgabe

Bestimme die Wahrheitswerte: a) TRUEFALSE\text{TRUE}\wedge\text{FALSE}, b) TRUEFALSE\text{TRUE}\vee\text{FALSE}.

Lösung zeigen
R
TRUE & FALSE   # a)
TRUE | FALSE   # b)
Ausgabe
[1] FALSE
[1] TRUE

Funktionen aufrufen

Funktionen haben immer die Form name(par1, par2, ...). Parameter kann man mit oder ohne Namen übergeben:

R
log(8, 2)            # Logarithmus von 8 zur Basis 2
log(x = 8, base = 2) # dasselbe mit Parameternamen
Ausgabe
[1] 3
[1] 3

Wichtige mathematische Funktionen: sqrt, abs, round, log (natürlich), log2, log10, exp, factorial, choose(n, k), sin/cos/tan, asin/acos/atan.

Mini-Aufgabe

Berechne in R: a) 3\sqrt{3}, b) log2(10)\log_2(10), c) 252^5, d) e2πe^{2\pi}, e) 6!6!.

Lösung zeigen
R
sqrt(3)          # a)
log2(10)         # b)
2^5              # c)
exp(2 * pi)      # d)
factorial(6)     # e)
Ausgabe
[1] 1.732051
[1] 3.321928
[1] 32
[1] 535.4917
[1] 720

Besondere Werte: NaN und Inf

Ist das Ergebnis keine reelle Zahl, liefert R entweder NaN (not a number, bei undefinierten Operationen) oder Inf/-Inf (±unendlich):

R
log(-1)    # undefiniert
log(0)     # Grenzwert -unendlich
Ausgabe
[1] NaN
[1] -Inf
Mini-Aufgabe

Berechne in R: a) 1/01/0, b) 1/1/\infty, c) cos()\cos(\infty).

Lösung zeigen
R
1/0        # a)
1/Inf      # b)
cos(Inf)   # c)
Ausgabe
[1] Inf
[1] 0
[1] NaN

Zuweisungen

Ergebnisse speichert man in Objekten mit dem Zuweisungspfeil <-. Objektnamen dürfen Punkte enthalten.

R
ich.bin.ein.Objekt <- 34
ich.bin.ein.Objekt
Ausgabe
[1] 34
Mini-Aufgabe

Berechne in R das Produkt der Variablen x und y, wobei x den Wert 5 und y den Wert 10 erhalten soll.

Lösung zeigen
R
x <- 5
y <- 10
x * y
Ausgabe
[1] 50

Abruf-Quiz

Frage 1 / 3

Was gibt 0.1 + 0.2 == 0.3 in R zurück?