Was ist R?
Wo gibt es R?
Dokumentation zu R
R starten und nullte Schritte
Online-Hilfe
R ist ein Statistikpaket und zugleich eine Programmiersprache, die
speziell für statistische Aufgaben zugeschnitten ist
(und für viele statistische Standard- und
nicht-ganz-so-Standard-Probleme vorgefertigte Bibliotheken besitzt).
R ist eine frei verfügbare (gemäß der
GNU General Public License der
Free Software Foundation)
Version des kommerziellen Statistikpaketes S, weshalb es auch
manchmal als 'GNU S' bezeichnet wird.
R ist die gemeinsame Arbeit vieler Programmierer. Details
und viele weitere Informationen finden sich auf der
offiziellen R-Heimatseite unter
www.r-project.org.
zum Seitenanfang | |
Am einfachsten über Rs Homepage http://www.r-project.org. Da R freie Software ist, kann es sich jeder Benutzer legal und kostenlos von CRAN, dem Comprehensive R Archive Network herunterladen, http://cran.r-project.org. Prinzipiell benötigt man also nur einen C-Compiler und genügend Geduld. Es gibt aber auch vorkompilierte Versionen für viele UNIX-Varianten (einschließlich Linux, es gibt auch fertige Packages für gängige Distributionen), für Windows (ab Windows 95) und für MacOS.
zum Seitenanfang | |
Umfangreiche (elektronische) Dokumentation in diversen Formaten
findet man auf der R-Homepage unter unter
http://cran.r-project.org/manuals.html (und siehe auch FAQs, wiki).
Um einen
Überblick zu gewinnen (der für die Zwecke des Praktikums
völlig ausreichend ist), empfehle ich einen Blick auf
Wer ein "richtiges" Buch bevorzugt, sei auf
W. N. Venables and B. D. Ripley (1999), "Modern Applied Statistics with S-Plus. Third Edition". Springer, ISBN 0-387-98825-4verwiesen, das in der Zentralbibliothek vorhanden ist. Dies ist ein Standardwerk zu S, zu dem R im wesentlichen kompatibel ist, siehe auch seine Homepage http://www.stats.ox.ac.uk/pub/MASS3/ . Es geht im Umfang wesentlich über den Stoff des Praktikums hinaus.
Auf Unix-Geräten kann man R von einem Terminal starten aus:
$> R [ggfs. Optionen]worauf es beispielsweise antwortet
R version 2.4.0 Patched (2006-11-25 r39997) Copyright (C) 2006 The R Foundation for Statistical Computing ISBN 3-900051-07-0 R ist freie Software und kommt OHNE JEGLICHE GARANTIE. Sie sind eingeladen, es unter bestimmten Bedingungen weiter zu verbreiten. Tippen Sie 'license()' or 'licence()' für Details dazu. R ist ein Gemeinschaftsprojekt mit vielen Beitragenden. Tippen Sie 'contributors()' für mehr Information und 'citation()', um zu erfahren, wie R oder R packages in Publikationen zitiert werden können. Tippen Sie 'demo()' für einige Demos, 'help()' für on-line Hilfe, oder 'help.start()' für eine HTML Browserschnittstelle zur Hilfe. Tippen Sie 'q()', um R zu verlassen. >und auf weitere Kommandos wartet. Die Windows- und Mac-Versionen von R starten durch (für Windows: Doppel-)Klick auf entsprechende Icons, und je nach graphischer Oberfläche und Geschmack kann man sich solches natürlich auch in Unix-Umgebungen einrichten. Emacs-Benutzer sollten sich auf alle Fälle das ESS-Paket (Emacs Speaks Statistics) anschauen, das es erlaubt, R vom Emacs aus zu kontrollieren und so den gleichzeiten Umgang mit Skripten, multiplen Datensätzen und der R-Konsole sehr komfortabel macht.
> q()und man kann sich dann noch überlegen, ob man den derzeitigen Zustand speichern möchte. R legt dazu dann im aktuellen Verzeichnis die versteckten Dateien .Rhistory und .RData an, weshalb es sich empfiehlt, jeweils ein eigenes Verzeichnis für jedes Projekt anzulegen, das man bearbeiten möchte. Insbesondere .RData kann bei umfangreicheren Projekten recht groß werden, wer Probleme mit seinem Sysad befürchtet, kann gelegentlich mit ls -al nachschauen und z.B. mit dem Shell-Kommando
rechner:arbeitsverzeichnis$ rm .R*aufräumen.
R kann rechnen, z.B.
> 1+1 [1] 2 > sqrt(1-cos(pi)+log(exp(2))) [1] 2und Variablen Werte zuweisen (mehrere Ausdrücke in einer Anweisung muss man mit ; trennen)
> a <- 3 > a; a+1; a^2 [1] 3 [1] 4 [1] 9R kennt verschiedene Variablentypen; ein wichtiger Typ ist der Vektor. Das Kommando c ("combine") macht aus seinen Argumenten einen Vektor:
> c(1.0,3,-17,2.8756) [1] 1.0000 3.0000 -17.0000 2.8756 > v <- c(1.0,3,-17,2.8756); v[3] [1] -17Besorgen wir uns einen Vektor von 20 unabhängigen, Normal-verteilten Zufallszahlen mit Mittelwert 0 und Varianz 2:
> z <- rnorm(20, mean=0, sd=sqrt(2)); z [1] -1.27522180 -2.19764650 -0.45389448 2.53097509 2.47142030 -3.00650845 [7] -1.39472754 -0.11109969 0.63868187 -0.03146561 -1.78808004 -0.67872637 [13] -0.10295801 0.65093853 -1.30665635 0.86648932 2.12904480 -0.44324417 [19] 0.07756036 -1.59045948Das empirische Mittel dieser 20 Zahlen und die empirische Varianz sind
> mean(z); var(z) [1] -0.2507789 [1] 2.270456Kann diese Abweichung des emprischen Mittels vom 'wahren' Mittel Zufall sein oder sollten wir dem Zufallsgenerator von R mißtrauen? Ein T-Test ergibt
> t.test(z, mu=0.0) One Sample t-test data: z t = -0.7443, df = 19, p-value = 0.4658 alternative hypothesis: true mean is not equal to 0 95 percent confidence interval: -0.9559846 0.4544267 sample estimates: mean of x -0.2507789Der p-Wert zeigt, dass wir eine solche (oder noch größere) Abweichung des empirischen vom theoretischen Mittelwert in 47% der Realisierungen erwarten können. (Oder wenigstens können wir sicher sein, dass uns R selbst-konsistent betrügt ;-)
> plot(z)
zum Seitenanfang | |
Mit help(t.test) oder kürzer ?t.test
verrät R mehr über den Student-T-Test und Parameter
des t.test-Kommandos. In dem eingebauten textorientierten
Hilfe-Betrachter navigiert man, wie man es beispielsweise von
dem Unix-Kommando more gewöhnt ist: Mit Leertaste
nach unten, mit b nach oben, mit q verläßt man den
Betrachter. Man kann R aber auch so einstellen, dass es einen
Web-Browser als Hilfe-Betrachter aufruft:
options("htmlhelp"=TRUE) (wer will, kann das auch in
.Rprofile in seinem Heimatverzeichnis eintragen).
Dasselbe funktioniert mit jedem anderen Befehl:
help(blabla) oder ?blablazeigt die Online-Hilfe zum Befehl blabla an (falls vorhanden). Mit dem Befehl
help.start()ruft man die R-Dokumentation in einem Browser auf und kann sie online nach Stichworten durchsuchen (sofern Java und Javascript aktiviert sind). Von der Konsole aus kann man help.search("Stichwort") verwenden.
zum Seitenanfang | |