GNU R: Rechnen mit R

Aus Wikibooks
Wechseln zu: Navigation, Suche
Nuvola apps bookcase.svg EDV Nuvola apps bookcase 1.svg GNU R


R ist unter anderem ein mächtiger Taschenrechner. Folgende Rechenfunktionen können mit R ausgeführt werden:

Addition +
Subtraktion -
Multiplikation *
Division /
Exponenten ^ oder **
Modulo %%
Wurzel sqrt(x)

Beispiele[Bearbeiten]

> 2+4
[1] 6
> 4-1
[1] 3
> 2*2
[1] 4
> 4/2
[1] 2
> 2^3
[1] 8
> 0.1**2
[1] 0.01
> 10%%3
[1] 1
> (-1)%%4
[1] 3
> sqrt(100)
[1] 10

Wurzel[Bearbeiten]

Das Ziehen einer Wurzel erfolgt über die Funktion sqrt. Damit Funktionen arbeiten können, benötigen sie ein „Argument“. Das Argument ist in unserem Fall die Zahl 100, da wir die Wurzel aus 100 ziehen wollen. Argumente werden der Funktion in runden Klammern angehängt. So erklärt sich der Befehl sqrt(100) (siehe oben).

Kommastellen[Bearbeiten]

In R ist das Dezimaltrennzeichen ein Punkt (und nicht, wie im deutschsprachigen Raum üblich, ein Komma).

> 2.01 + 4.2
[1] 6.21
> 2.6 * 3.72
[1] 9.672


Nachkommastellen[Bearbeiten]

R zeigt standardmäßig 6 Nachkommastellen an. Intern rechnet R mit "doppelter Genauigkeit". Damit sind Nummern mit ca. 17 Stellen (1 Ziffer + 16 Nachkommastellen oder eben eine 17 stellige Zahl ohne Nachkommastellen) repräsentierbar. Möchte man die Nachkommastellen entsprechend angezeigt bekommen, so kann man dies mit der options-Funktion einstellen:

options(digits=17) 

Nach dieser Eingabe liefert R Ergebnisse mit bis zu 16 Nachkommastellen.

Runden[Bearbeiten]

R zeigt standardmäßig 6 Nachkommastellen an. Ziehen wir die Wurzel aus 3, erhalten wir folgendes Ergebnis:

> sqrt(3)
[1] 1.732051

Dieses Ergebnis kann mit der Funktion round gerundet werden:

> round(sqrt(3))
[1] 2

Es besteht des Weiteren die Möglichkeit, die Anzahl der Nachkommastellen in der round-Funktion mitanzugeben. Die round-Funktion kann zwei Argumente verarbeiten. Das erste Argument heißt x und ist die Zahl, die gerundet werden soll (in unserem Beispiel „Wurzel aus 3“). Das zweite Argument heißt „digits“ und gibt an, auf wieviele Nachkommastellen das Argument x gerundet werden soll. Wollen wir das Ergebnis mit zwei Nachkommastellen angegeben bekommen, so lautet der Befehl:

> round(x=sqrt(3), digits=2)
[1] 1.73


Wenn man den Namen des Argumentes mit in die Funktion schreibt, spielt die Reihenfolge der Argumente keine Rolle. So könnten wir die Berechnung in unserem Falle auch erzeugen durch:

> round(digits=2, x=sqrt(3))
[1] 1.73

Eine Übersicht über die Argumente einer Funktion (und ihrer Reihenfolge) liefert die Help-Seite, die wir in unserem Falle aufrufen können per:

> ?round

Wenn man die Reihenfolge der Argumente einer Funktion kennt, so muss man die Argumente nicht unbedingt als solche benennen. In unserem Beispiel funktioniert auch die Eingabe:

> round(sqrt(3), 2)
[1] 1.73

Dies liegt daran, dass das erste Argument x (in unserem Falle sqrt(3)) und das zweite Argument digits (in unserem Falle 2 Nachkommastellen) heißt. Wichtig ist hierbei allerdings, dass man die Argumentwerte in der tatsächlich geforderten Reihenfolge schreibt, welche durch die Help-Seite (?round) eingesehen werden kann.

Integrieren[Bearbeiten]

Zum Integrieren kann die Funktion integrate verwendet werden. In folgendem Beispiel wird die Dichtefunktion der Standardnormalverteilung von 0 bis +Unendlich integriert (und damit die Wahrscheinlichkeit bestimmt, dass eine Standardnormalverteilung einen positiven Wert annimmt):

> integrate(dnorm, 0, Inf)
0.5 with absolute error < 4.7e-05

Möchte man der zu integrierenden Funktion weitere Parameter übergeben, kann man das im Anschluss an die drei ersten Parameter der Funktion integrate() tun. In folgendem Beispiel integrieren wir die Dichte einer N(2,5^2) verteilten Zufallsgröße von 0 bis +Unendlich:

> integrate(dnorm, 0, Inf, mean=1, sd=5)
0.5792597 with absolute error < 1.4e-05


Inhaltsverzeichnis[Bearbeiten]