Eine kleine Einführung in R

Eine kleine Einführung in R
Dies ist eine kleine Einführung in die wichtigsten Konzepte der Statistik-Software R, die in der ersten
Vorlesungswoche besprochen wird. Die Einführung ist so ausgelegt, dass Sie alle Schritte auf Ihrem eigenen
Rechner nachvollziehen können. Sie sollten das auch unbedingt zu Hause tun und prüfen, ob Sie die gleichen
Ausgaben erhalten wie in diesem Dokument.
• Zuerst müssen Sie R installieren. Eine Anleitung dazu gibt es in RTipps.pdf.
• Zusätzlich sollten Sie R Studio installieren. Dieses Programm bietet Ihnen eine verbesserte graphische
Oberfläche für R. Diese Hilfe orientiert sich an der Oberfläche von R Studio.
Wie Sie R als einfachen Taschenrechner nutzen
Öffnen Sie R Studio. Am Anfang haben Sie im Fenster, das Console heisst, eine Befehlszeile vor sich. Mit der
Befehlszeile können Sie direkt Kommandos zu R schicken. Die Befehle tippen Sie ein, und am Ende drücken
Sie die EINGABE-Taste. Für einfache Rechenoperationen verwenden Sie +-/ und *. Das sieht z.B. so aus
3+4
## [1] 7
3-4
## [1] -1
Die Ausgabe des Programms wird in diesem Dokument also mit ## gekennzeichnet.
Wie Sie Variablen nutzen
Wenn die Berechnungen komplizierter werden, benötigt man Variablen. Variablen sind Namen, denen man
Daten zugewiesen hat. Sie speichern diese Daten ab.
Die Zuweisung von Daten zu einer Variablen erfolgt mit <-:
a <- 3 + 2
Dann kann man den berechneten Wert später gebrauchen:
c <- a*2
Will man den Wert einer Variablen wissen, kann man einfach den Namen eingeben.
c
## [1] 10
Wenn Sie wissen möchten, welche Variablen Sie schon definiert haben . . .
1
ls()
## [1] "a" "c"
Die Gesamtheit der definierten Variablen bezeichnet man auch als workspace bzw. Arbeitsbereich.
Wie Sie Funktionen verwenden
R beinhaltet viele eingebaute Funktionen. Funktionen in R funktionieren ähnlich wie mathematische
Funktionen. Sie formen einen Wert in einen anderen um. Die Funktion sqrt bildet beispielsweise die Wurzel
des Argumentes:
sqrt(c)
## [1] 3.162278
sqrt(100)
## [1] 10
Wenn Sie wissen möchten, was eine Funktion macht, dann verwenden Sie ?Funktionsname
?sqrt
Je nach Benutzeroberfläche öffnet sich ein Fenster mit einer Beschreibung der Funktion sqrt.
Wenn Sie wissen, was Sie tun möchten und die entsprechende Funktion suchen, dann können Sie das mit
??Stichwort machen:
??median
Sie erhalten eine Reihe von Funktionen, die etwas mit dem Median zu tun haben. Hinter jeder Funktion
steht eine Kurzbeschreibung, mit deren Hilfe Sie rausfinden können, was die Funktion tut. Wenn die
Kurzbeschreibung nicht eindeutig genug ist, dann müssen Sie notfalls auf den Funktionsnamen klicken, um
den Hilfstext aufzurufen. Die gewünschte Funktion ist in diesem Falle stats::median, wobei stats:: die
Gruppe von Funktionen zeigt, zu der die Funktion median gehört. Sie gehört zu den Statistikfunktionen.
Wie Sie das Working Directory setzen
Sie möchten nun ein Projekt beginnen.
Sie erstellen irgendwo ein Verzeichnis für das Projekt,
beispielsweise /home/christian/beispielprojekt. Unter Windows wäre der Verzeichnispfad vielleicht
c:/Users/christian/beispielprojekt. Damit R dieses Verzeichnis automatisch verwendet, wenn Sie
Daten abspeichern oder laden, müssen Sie explizit das working directory bzw. Arbeitsverzeichnis angeben.
Das laufende Arbeitsverzeichnis finden Sie mit
getwd()
## [1] "/home/christian/Dropbox/Projekte/EWF/REinfuehrung"
Sie können ein neues Verzeichnis wie folgt bestimmen:
2
setwd('/home/christian/beispielprojekt/')
, wobei setwd für set working directory steht.
getwd()
## [1] "/home/christian/beispielprojekt"
Sie können das Arbeitsverzeichnis in R Studio auch unter Session | Set Working Directory setzen.
Wie Sie optionale Argumente verwenden
Wir möchten jetzt den folgenden Datensatz einer repräsentativen Umfrage zum Käse - und Schokoladenkonsum
in einer Bevölkerung (in g pro Woche) analysieren:
Kaese; Schokolade
300; 250
100; 130
1000; 0
400; 200
500; 600
100; 50
345; 670
100; 50
Kopieren Sie die obigen Zeilen, fügen Sie diese in eine Textdatei ein, und speichern Sie die Textdatei mit der
Endung csv im Projektordner ab, z.B. unter dem Namen umfrage.csv. Wenn Sie jetzt den Befehl
dir()
## [1] "beispielskript.R" "umfrage.csv"
eingeben, sollten Sie die Datei sehen. Die Funktion read.table kann die Daten in R einlesen. Zuerst
informieren Sie sich, wie man das tut via
?read.table
Leider ist der Hilfstext recht esoterisch. Nach einer kurzen Beschreibung wird einem die Nutzung erklärt . . .
[...]
Usage
read.table(file, header = FALSE, sep = "", quote = "\"'",
dec = ".", numerals = c("allow.loss", "warn.loss", "no.loss"),
row.names, col.names, as.is = !stringsAsFactors,
na.strings = "NA", colClasses = NA, nrows = -1,
skip = 0, check.names = TRUE, fill = !blank.lines.skip,
strip.white = FALSE, blank.lines.skip = TRUE,
comment.char = "#",
allowEscapes = FALSE, flush = FALSE,
3
stringsAsFactors = default.stringsAsFactors(),
fileEncoding = "", encoding = "unknown", text, skipNul = FALSE)
[...]
. . . oder auch nicht erklärt. Glücklicherweise muss man hier nicht alles verstehen, denn alle Funktionsargumente, die ein Gleichheitszeichen haben, z.B. header = FALSE, sind optional. Das bedeutet, Sie müssen sie
nicht benutzen. Wenn Sie diese Funktionsargumente nicht explizit setzen, dann nehmen sie die Werte an,
die nach dem Gleichheitszeichen stehen. Das Argument header nimmt also den Wert FALSE an - was auch
immer das konkret bedeutet. Jedes der aufgeführten Argumente wird im nachstehenden Hilfstext erläutert.
Zwingend anzugeben ist das Argument file, weil es den Namen der Datei angibt. Die für uns wichtigsten
optionalen Argumente sind
• header : Enthält die erste Zeile die Variablennamen?
• sep : Mit welchem Zeichen werden die Spalten getrennt?
• dec : Mit welchem Zeichen werden Dezimalzahlen geschrieben?
In unserem Fall enthält die Datei die Variablennamen und die Spalten werden mit einem Semikolon getrennt.
Sie können daher die Daten mit dem folgenden Befehl in R laden
meineDaten <- read.table("umfrage.csv", header = T, sep=";")
wobei T für TRUE steht. Die optionalen Argumente werden also hinter den obligatorischen Argumenten mit =
gesetzt.
Sie können sich anschauen, was Sie da geladen haben, indem Sie sich die ersten Einträge ausgeben lassen:
head(meineDaten)
##
##
##
##
##
##
##
1
2
3
4
5
6
Kaese Schokolade
300
250
100
130
1000
0
400
200
500
600
100
50
Wichtig ist hier, dass meineDaten auch erst mal nur eine Variable ist. Also ein Name, unter dem Daten
gespeichert sind. In diesem Fall also der gesamte Datensatz. Das besondere ist hier nun, dass die Daten
verschiedene Felder haben, unter denen bestimmte Daten gespeichert sind. Hier sind die Feldnamen die
Namen der Merkmale. Mit $ kann man nun auf die Merkmale zugreifen:
meineDaten$Schokolade
## [1] 250 130
0 200 600
50 670
50
median(meineDaten$Schokolade)
## [1] 165
4
Dieser Art von Daten begegnet man überall in R, weil sich so Daten, die zusammengehören, mit einer
Variablen zusammenfassen lassen.
Die $-Notation ist manchmal etwas mühsam. Mit attach kann man die Spalten des Datensatzes dem
Arbeitsbereich zuweisen:
attach(meineDaten)
Jetzt geht es auch direkt
median(Kaese)
## [1] 322.5
Schauen Sie sich noch einmal den Arbeitsbereich an:
ls()
## [1] "a"
"c"
"meineDaten"
Wenn Sie R mit
q()
schliessen, erscheint deshalb eine Frage wie Save workspace image to ~/pfad/.RData? [y/n/c]:. Wenn
man möchte, kann man also die definierten Variablen in der Datei .RData abspeichern. Dann kann man in
einer neuen R - Sitzung bei dem Stand weitermachen, wo man aufgehört hat. Schliessen Sie jetzt R und
geben Sie y ein, wenn die Frage erscheint. Wenn Sie jetzt die Variablen wieder herstellen möchten, gehen
Sie zu dem Verzeichnis Ihres Projektes und öffnen Sie die Datei .Rdata mit R Studio. Sie sollten mit ls()
überprüfen, dass Sie die gleichen Variablen im Arbeitsbereich haben.
Wie Sie Skripte nutzen
Zu guter Letzt möchten Sie vielleicht alle Arbeitsschritte abspeichern, so dass Sie nicht immer wieder von
vorne mit der Datenanalyse anfangen müssen. Um das zu tun, schreiben Sie einfach alle Befehle in eine
Textdatei, ein Skript. Z.B. können Sie die folgenden Befehle
d <- 2
e <- 3
f <- e*d
print(f)
in eine Datei beispielskript.R im Arbeitsverzeichnis speichern. R Studio enthält einen Menupunkt File |
New File | R Script, welcher automatisch einen Editor öffnet mit dem Sie ein Skript schreiben können.
Ruft man diese Datei mit der Funktion source auf, werden die Berechnung ausgeführt.
source("beispielskript.R")
## [1] 6
Im Gegensatz zu Befehlen, die man direkt in die Befehlszeile eingibt, reicht es nicht aus, einfach den
Variablennamen in das Skript zu schreiben. Man muss die Ausgabe explizit mit print herbeiführen.
Übrigens brauchen Sie den Befehl source nicht in R Studio eingeben. Sie können einfach auf das Symbol mit
dem Text Run drücken. Das Ergebnis ist das gleiche.
5
Wie geht es weiter?
• Lesen Sie sich die RTipps.pdf durch und probieren Sie einige Statistikfunktionen aus.
• Wenn Sie mehr wissen möchten, gibt es dutzende gute Einführungen im Netz.
• Das offizielle Handbuch ist http://cran.r-project.org/doc/manuals/R-intro.html .
6