Sie sind auf Seite 1von 31

Beate Sick (sick)

Programmieren mit R

Aleksandar Spasojevic (spas) 14. September 2012

Matthias Salvisberg (salv)

1 Vorwort

2

2 R und -Studio

2

2.1 Console .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3

Zuweisung .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3

2.2 Workspace

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3

R Script .

2.3 .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3

Packages

2.4 .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

4

2.5 Help

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

4

2.6 Files .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

4

3 Das Einlesen von Daten

 

5

3.1 Daten im Textformat

.

.

.

.

.

.

.

.

.

5

3.2 Daten per URL

 

.

.

.

.

.

.

.

.

.

.

.

.

5

3.3 Daten als

.

.

.

.

.

.

.

.

.

.

.

6

4 Daten und Variablentypen in

7

Aufbau eines Datensatzes Struktur des Datensatzes

.

.

.

.

.

.

.

.

.

.

7

7

Zugriff auf die Datenstruktur

8

Subsetting von Data Frames

9

4.1

Mit arbeiten

.

.

.

.

.

.

.

.

.

.

.

.

.

10

Erstellen eines ’s Indexierung bzw. Zugriff mit Vektoren rechnen

10

11

12

/ (Spalten- Zeilenweise) zusammenfügen von ’s

12

5 Univariate Visualisierung von numeri- schen und kategoriellen Daten

13

5.1 Darstellung von kategoriellen Va-

riablen

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

13

5.2 Darstellung von numerischen Va-

riablen

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

14

6 Kennzahlen, Tabellen

 

16

6.1 Lagemasse

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

16

 

Mittelwert x Median x med bzw. x˜

.

.

.

.

.

.

.

.

.

.

.

.

.

.

16

16

Modus bzw. Modalwert x mod bzw. x D Quantile, Perzentile

17

17

6.2 Streuungsmass

 

.

.

.

.

.

.

.

.

.

.

.

.

17

 

Spannweite .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

17

Quartilsabstand (Interquartile Ran-

 
 

ge IQR) .

.

.

.

.

.

.

.

.

.

.

.

.

18

 

Varianz und Standardabweichung

.

18

Boxplot

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

18

Stripchart .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

19

7 Bivariate Visualisierung

 

20

7.1 kategorial-kategorial

 

.

.

.

.

.

.

.

.

.

20

7.2 stetig-kategorial

.

.

.

.

.

.

.

.

.

.

.

.

20

7.3 stetig-stetig .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

21

 

Quantil-Quantil-Diagramm

 

21

8 Multivariate Visualisierungen

 

22

8.1

Mehr als 2 Variablen

 

.

.

.

.

.

.

.

.

.

22

8.2

pairs

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

22

8.3

3d Grafik .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

23

9 Korrelation

 

23

9.1 Pearson-Korrelationskoeffizient

 

23

9.2 Spearman-Rangkorrelationskoeffizient 24 Beziehung zwischen Spearman und

Pearson

 

.

.

.

.

.

.

.

.

.

.

.

.

25

10 Verteilungen

26

Verteilungen

.

.

.

.

.

.

.

.

.

.

.

.

.

.

26

Quantil-Quantil-Plots

 

26

11 Hypothesen Tests

27

12 Einfache lineare Regression

 

29

Vorwort

2

1 Vorwort

In den folgenden Kapiteln lernen Sie das R und R-Studio kennen. Dabei liegt der Fokus darauf, die benötigten -Kenntnisse für die Grundvorlesung in Statistik zu vermitteln. Befehle die in die Konsole oder dem R Skript eingetippt werden, sind wie folgt formatiert: .

Verweise auf die Fenster sind rot formatiert: Fenster Fenster2 ab:

2

R und -Studio

Eine R-Sitzung hebt sich vom Text

R ist eine Programmiersprache und Programm-Umgebung für Statistikanwendungen. Die Software be- steht aus einem Basis-Paket und Erweiterungspaketen, sogenannten packages. Das Programm R ist als ’GNU General Public License’ lizensiert, d. h. R ist eine freie Software. R-Studio ist eine Entwicklungs- umgebung (Editor) für das Statistikprogramm R. Es erleichtert dem Benutzer die Verwaltung, Bearbei- tung und Ausführung des R-Skripts und somit das Arbeiten mit R. Das R lässt sich über folgenden Link herunterladen, dabei müssen Sie das Betriebssystem und anschlies- send anwählen. R-Studio lässt sich über folgenden Link herunterladen. Zuerst installieren Sie das Statistikprogramm R und danach das R-Studio.

Sie das Statistikprogramm R und danach das R-Studio. Abbildung 1: die Entwicklungsumgebung R-Studio Sie werden 6

Abbildung 1: die Entwicklungsumgebung R-Studio

Sie werden 6 Fenster der Entwicklungsumgebung R-Studio kennenlernen. Console, Workspace, R Script, also das Fenster in dem R Befehle eingetippt werden. Weiter erforschen Sie die Fenster Packages und deren Help und zu guter Letzt den Explorer Files.

2.1. Console

3

2.1 Console

Nach dem Aufstarten des R-Studio’s ist unten links die Konsole des R Statistikprogramms zu sehen. Einfache Rechenoperationen/Befehle können Sie direkt in der Konsole eingeben und mit abschliessen. Da R case sensitive ist (’A’ und ’a’ sind verschiedene Symbole), ist die korrekte Schreib- weise wichtig. In der Console finden die Berechnungen statt, die Entwicklungsumgebung stellt nur eine Verbindung zu dieser Console, die Installation der Konsole erfolgte durch die Installation des Statistikprogramms R.

Zuweisung

Wenn Sie ein Resultat (= Datenobjekt) speichern wollen, um es später weiter zu verwenden, so weisen Sie das Resultat mit dem Befehl oder einem Objektnamen zu.

2.2 Workspace

Der Workspace beinhaltet alle geladenen Datensätze, Funktionen und R Variablen die während einer R Sitzung generiert werden. Sie können auch die generierten Objekte über den Befehl in der Konsole abrufen. Eine Abspeicherung erfolgt über Workspace Save Save Workspace As, um bei einer nächsten Sitzung über Workspace Load Load Workspace die Programme, Datensätze etc. wieder hervorzurufen. Wird der Workspace als Default abgespeichert, so lädt er sich automatisch, sobald Load Load Default Workspace angeklickt wird. Das Löschen des Workspace während der R Sitzung erfolgt über Clear All oder dem Befehl . Im Allg. wird nicht empfohlen den Workspace abzuspeichern, sondern nur das -Skript und die wichtigsten Zwischenergebnisse.

 

 

 

2.3 R Script

Um Reproduzierbarkeit der Sitzung zu gewährleisten, ist es wichtig dass Sie die Befehle in ein Do- kument schreiben und mit der Endung ’.R’ abspeichern. Dabei gewähren Sie Einsicht in die Analyse- struktur, die leicht wiederverwendet, korrigiert und erweitert werden kann. Kurz, Sie sind transparent. Ein solches Dokument nennt sich R-Skript und kann unter File New R Script erstellt werden. Die erfassten Befehle im R-Skript können markiert und über Tastenbefehl an die R Console geschickt werden. Im gibt es viele vordefinierte und z.T. sehr mächtige -Funktionen, die auch oft als -Befehl be- zeichnet werden. Der Aufruf einer -Funktion erfolgt immer durch den Namen der -Funktion gefolgt von runden Klammern - innerhalb der runden Klammern werden oft die Argumente der -Funktion gesetzt:

2.4. Packages

4

Hilfe zu den -Befehlen erhalten Sie über den Befehl oder über das Fenster Help, dazu mehr im Subkapitel (2.5).

Weiter sollten Sie beim erstellen eines R Scripts auch Kommentare schreiben. Damit verstehen Sie das Programm beim späteren Aufruf auch noch. Einem Kommentar im R Script steht immer das Symbol voran.

2.4 Packages

Standardgemäss (nach der Installation) wird das R mit einer Kleinzahl an packages (nur das nötigste) installiert. Weitere packages können über ein sogenanntes Repo (Repositorium) installiert werden. Diese packages sind Open-Source und kostenlos. Im R-Studio vereinfacht sich das Vorhaben, hierzu Packages Install Packages anklicken. Danach package Name eintippen und auf Install klicken. Es kann aber auch die -Funktion verwendet werden. Alle installierbaren Pakete sind unter Packages Table of availa- ble packages, sorted by name aufgelistet. Diese Namen sind beim Installieren anzugeben. Nachdem ein Packet installiert wurde, kann es über den Befehl für die R Sitzung geladen werden. Erst nach dem Laden sind die Funktionen für die R Konsole bekannt.

2.5 Help

Besitzt das Paket eine Dokumentation, so wird diese bei der Paketinstallation ins R-Studio einge- bunden. In der Menüleiste Help R Help Packages kann darauf zugegriffen werden. Möchten Sie auf die Dokumentation eines bestimmten Pakets zugreifen, so können Sie das über den Befehl erzielen.

2.6 Files

Files ist ein integrierter Explorer der beim öffnen des R-Studios dorthin navigiert wo auch das Ar- beitsverzeichnis des R ist. Eine R Sitzung startet immer mit einem standard Arbeitsverzeichnis, üb- lich mit dem Ordner ’Dokumente’. Das Arbeitsverzeichnis ist der Ort auf der Harddisk, dessen In- halt das R sieht. Sie können jederzeit den Pfad des Arbeitsverzeichnis abrufen oder ändern

Dokumente und Ordner vom Arbeitsverzeichnis in der Konsole anzeigen lassen.

wd(

)

steht für ’Working Directory’. Weiter können Sie über

 

 

Das Einlesen von Daten

5

 

3

Das Einlesen von Daten

Beim einlesen der Daten ins R kommt es darauf an, wie der Datensatz formatiert ist. Für die folgende Demonstation benutzen wir einen Datensatz im .txt-Format. Darin sind Autos mit Spezifikationen aufgelistet. Der Einfachheit wegen arbeiten wir mit einer gekürzten Version des Originaldatensatzes. Wenn Sie den Datensatz per URL einlesen, dann erhalten Sie die ungekürzte Version des Datensatzes.

3.1 Daten im Textformat

Ist der Datensatz in Form eines Textdokuments abgespeichert, so kann er direkt über das R-Studio eingelesen werden. Hierzu Workspace Import Dataset From Text File auswählen und dann im neu geöffneten Fenster zum Datensatz navigieren. Danach öffnet sich ein neues Fenster (Import Assistent). Hier geben Sie dem Datensatz einen Namen, überprüfen bzw. ändern die Optionen zum Heading, Separator, Decimal, Quote, und dann klicken Sie auf Import. Nun ist der Datensatz unter dem vorge- gebenem Namen im Workspace aufgelistet und Sie können ihn anklicken und ansehen (in Form einer Tabelle), um zu überprüfen, ob beim Einlesen alles funktioniert hat. Der Datensatz lässt sich in Form einer Tabelle veranschaulichen, dies erreichen Sie per Klick auf den Namen im Workspace.

3.2 Daten per URL

Es ist auch möglich für R-Studio den Datensatz über das Internet herunterzuladen und ins R einzule- sen. Dabei müssen Sie die URL kennen. Ähnlich wie bei Daten als Textformat klicken Sie auf Import From Web URL. Danach lädt das R die Daten herunter und öffnet automatisch den Import Assistenten. Weiteres Vorgehen ist analog ’Daten im Textformat’. Für den obigen Datensatz lautet die URL: .

3.3.

Daten als

6

3.3. Daten als 6 Abbildung 2: der Import Wizard von R-Studio 3.3 Daten als Das Statistikprogramm

Abbildung 2: der Import Wizard von R-Studio

3.3 Daten als

Das Statistikprogramm R bietet eine eigene Form des Datensatzes an, diese ist an der Endung des Dokuments mit ’.Rdata’ zu erkennen. Möchten Sie einen ’.Rdata’ Datensatz einlesen, so navigieren Sie unter Files zum Datensatz und klicken diesen an. Danach veranlassen Sie das Laden des Datensatzes mit OK. Eine andere Möglichkeit besteht darin den Datensatz über Workspace Load Load Workspace zu laden (analog dem Laden eines Workspace) oder die -Funktion . Hierbei stellen Sie fest, dass keine Namensvergabe stattfand, diese Information ist im Datensatz ge- speichert. Mit dem Befehl speichern Sie den Daten- satz als Format ’.Rdata’. ’namedesObjekts’ ist der Objektname den Sie beim Einlesen des Datensatzes angegeben haben, ’name’ ist der Name den das Dokument mit der Endung ’.Rdata’ nach dem abspei- chern besitzen soll. Verwenden Sie denselben Namen für ’name’. Ein Vorteil des .Rdata-Format ist, dass die Datentypen der Spalten erhalten bleiben - ein Nachteil ist, dass dieses Format nur von R gelesen werden kann.

 

 

 

Daten und Variablentypen in

7

 

 

4

Daten und Variablentypen in

Jedes Objekt in hat eine bestimmte Struktur. Die Struktur kann ein Vektor, Matrix, Data Frame oder eine Liste sein. Die Matrix und das Data Frame sind Konstrukte welche aus mehreren Vektoren beste- hen. Vorerst behandeln Sie das Data Frame und den Vektor, da diese in der Datenverarbeitung typisch sind. Jeder Merkmals-Vektor bzw. jede Variable ist von einem bestimmten Typ, dabei kann eine Va- riable vom Datentyp, z.B. von Typ , , , oder sein. Variablen von Typ sind Wahrheitswerte oder und sind kategorielle Variablen, die nominelle oder ordinale Ausprägungen haben können; sind stetige Variablen und diskrete bzw. ganzzahlige Merkmale.

Aufbau eines Datensatzes

In der Statistik sind die Spalten für Merkmale bzw. Variablen reserviert und die Zeilen für Objekte bzw. Untersuchungseinheiten oder Personen. Dabei können Sie sich das so vorstellen, wenn Sie den Daten- satz studieren, dann stellen Sie fest das eine Zeile ein Auto representiert, dabei sind die Spalten (Variablen/Merkmale) Merkmale des Autos, wie z.B. der Preis oder die Leistung des Motors.

Struktur des Datensatzes

Nach dem Einlesen des Datensatzes sollten Sie die Struktur abfragen. Dazu rufen Sie den Befehl auf:

 

 

 

 

 

 

 

 

 

 

Sie sehen welchen Typ die einzelnen Variablen haben. Der Hersteller ’make’ ist eine kategorielle Variable ohne Ordnung ( ). Dagegen ist der Preis ’price’ eine Ganzzahl und deshalb auch

( ). Befehl gibt Aufschluss über den Typ der Struktur:

In unserem Fall ist dies ein Data Frame. Das Data Frame erlaubt es uns, verschiedene Typen von Vektoren, die alle dieselbe Länge haben, zusammen zu setzen. Sind alle Vektoren numerisch, so wäre die Matrix als Struktur geeigneter. Sind Sie an der Anzahl Objekte und Merkmale eines Datensatzes interessiert, so rufen Sie auf:

Daten und Variablentypen in

8

Die 20 steht für die Anzahl Zeilen (Objekte) und die 9 für die Anzahl Spalten (Merkmale). Die Namen der Merkmale erhalten Sie mittels Befehl :

Zugriff auf die Datenstruktur

Die Indizierung eines Elements in einem Vektor oder Data Frame findet immer mit eckigen Klam- mern [] statt, oder den Namen des Elements. Den Zugriff können Sie sich beim Data Frame wie folgt vorstellen, oder :

 

 

 

 

 

 

 

 

 

 

Die gibt uns die ersten von einem Vektor oder Data Frame. Dies ist dann nütlich, wenn Sie kurz einen Blick auf den Datensatz werfen möchten. Möchten Sie nun den Preis extrahieren und dabei in eine Variable abspeichern, damit Sie später mit dieser Variable z.B. Analysen machen können, so tun Sie folgendes:

Daten und Variablentypen in

9

mittels können Sie jedes, durch irgendeine Funktion generiertes Resultat in eine Variable abspei- chern.

Subsetting von Data Frames

Beim subsetting eines Data Frames filtern wir die Objekte heraus, die eine oder mehrere Bedingungen erfüllen. Konkret, Sie könnten sich fragen, welche Autos kosten weniger als 20000$? Diese Art von Fragen beantworten Sie mit dem Befehl :

Dabei ist beim Befehle das zweite Argument die Bedingung. Hierbei müssen Sie einen Ausdruck schreiben der entweder oder als Resultat liefert. Hierfür braucht es logische Operatoren. Für logische Operatoren im R siehe Tabelle 1.

Ausdruck

R

UND

ODER

|

NICHT

grösser als

grösser gleich

>=

kleiner als

kleiner gleich

<=

gleich

nicht gleich

Tabelle 1: logische Operatoren

Bei den Ausdrücken UND, ODER, NICHT handelt es sich um Logische Verknüpfungen, diese Operatoren dienen der Konstruktion mehrerer Bedingungen. Möchten Sie nun wissen, welche Autos kosten weniger als 20000$ UND haben 4 Türen, so formulieren Sie dies im wie folgt:

4.1. Mit arbeiten

10

Logische Operationen auf Data Frames

Sie können ebenfalls die obigen logischen Operatoren auf das Data Frame selbst, also ohne , anwenden. Dieselbe Filterung von Objekten erhalten Sie wie folgt:

 

Dabei wird das Resultat in Form eines Warheitsvektors zurückgegeben. An jeder Stelle wo die bei- den Bedingungen erfüllt sind, steht ein . Sind Sie an der Stelle wo das vorkommt interessiert, so wenden Sie den Befehl auf den Vektor an: