1 – Lösungen

Statistische Datenanalyse mit R

Autor

Clemens Brunner

Veröffentlicht

6. März 2023

Übung 1

Die R-Version wird in der Console als Einleitungstext direkt nach dem Starten angezeigt. Die gesamte Versionsinformation lautet:

R version 4.2.2 (2022-10-31) -- "Innocent and Trusting"

Außerdem ist die R-Version immer im Titel der Console ersichtlich.

Die RStudio-Version lautet 2022.12.0 Build 353 – dies kann man im Hilfefenster, welches mit “Help” – “About RStudio” aufgerufen werden kann, ablesen.

Übung 2

4 / 0.4
[1] 10
4 %/% 0.4
[1] 10
4 %% 0.4
[1] 0

Da 4 / 0.4 mathematisch exakt 10 ergibt, macht das erste Ergebnis auch Sinn. Allerdings sollte die Ganzzahldivision 4 %/% 0.4 ebenfalls 10 ergeben – interessanterweise ist das Ergebnis aber 9! Dementsprechend sollte der Rest mathematisch 0 sein, aber laut R ergibt der Rest 0.4. Dieses seltsame Verhalten erklärt sich dadurch, dass Computer Kommazahlen im Allgemeinen nicht exakt repräsentieren können, d.h. es gibt kleine Ungenauigkeiten, die sich in manchen Situationen zu recht offensichtlichen Fehlern aufsummieren können. Deshalb ist immer Vorsicht geboten, wenn man mit Kommazahlen rechnet (und zwar unabhängig von der Programmiersprache – dies ist keine Besonderheit von R, sondern eine allgemeine Einschränkung, die es immer zu beachten gilt).

Tipp

Relativ häufig möchte man zwei Kommazahlen auf Gleichheit überprüfen (wir werden Vergleiche noch in einer der nächsten Einheiten kennenlernen, diese Erklärung ist daher ein Vorgriff). Durch die oben erwähnten Eigenschaften von Kommazahlen sollte man also nicht auf exakte Gleichheit prüfen:

0.1 + 0.2 == 0.3
[1] FALSE

Für solche Situationen würde man überprüfen, ob die beiden Werte ungefähr gleich sind (also innerhalb einer gewissen Toleranz):

all.equal(0.1 + 0.2, 0.3)
[1] TRUE

Dies liefert dann das erwartete Ergebnis (nämlich dass 0.1 + 0.2 gleich 0.3 ist).

Übung 3

(11 + 27 + 15 + 10 + 33 + 18 + 25 + 22 + 39 + 11) / 10
[1] 21.1

Übung 4

sqrt(2) * (5**5 - pi) * 18 / ((7/5 + 13.2) * 7**(2/3))
[1] 1487.473

Übung 5

Der Code funktioniert nicht, weil es das Objekt PI nicht gibt (Error: object 'PI' not found). Groß-/Kleinschreibung ist relevant, und der korrekte Name von \(\pi\) lautet pi:

2 * 1 * pi
[1] 6.283185