21,99 €
Wollen Sie auch die umfangreichen Möglichkeiten von R nutzen, um Ihre Daten zu analysieren, sind sich aber nicht sicher, ob Sie mit der Programmiersprache wirklich zurechtkommen? Keine Sorge - dieses Buch zeigt Ihnen, wie es geht - selbst wenn Sie keine Vorkenntnisse in der Programmierung oder Statistik haben. Andrie de Vries und Joris Meys zeigen Ihnen Schritt für Schritt und anhand zahlreicher Beispiele, was Sie alles mit R machen können und vor allem wie Sie es machen können. Von den Grundlagen und den ersten Skripten bis hin zu komplexen statistischen Analysen und der Erstellung aussagekräftiger Grafiken. Auch fortgeschrittenere Nutzer finden in diesem Buch viele Tipps und Tricks, die Ihnen die Datenauswertung erleichtern.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 603
Veröffentlichungsjahr: 2021
R für Dummies
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.
3. Auflage 2021
© 2021 Wiley-VCH GmbH, Weinheim
Original English language edition R for Dummies © 2015 by Wiley Publishing, Inc.
All rights reserved including the right of reproduction in whole or in part in any form. This translation published by arrangement with John Wiley and Sons, Inc.
Copyright der englischsprachigen Originalausgabe R for Dummies © 2015 by Wiley Publishing, Inc
Alle Rechte vorbehalten inklusive des Rechtes auf Reproduktion im Ganzen oder in Teilen und in jeglicher Form. Diese Übersetzung wird mit Genehmigung von John Wiley and Sons, Inc. publiziert.
Wiley, the Wiley logo, Für Dummies, the Dummies Man logo, and related trademarks and trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries. Used by permission.
Wiley, die Bezeichnung »Für Dummies«, das Dummies-Mann-Logo und darauf bezogene Gestaltungen sind Marken oder eingetragene Marken von John Wiley & Sons, Inc., USA, Deutschland und in anderen Ländern.
Das vorliegende Werk wurde sorgfältig erarbeitet. Dennoch übernehmen Autoren und Verlag für die Richtigkeit von Angaben, Hinweisen und Ratschlägen sowie eventuelle Druckfehler keine Haftung.
Coverfoto: fotomek – stock.adobe.comKorrektur: Claudia Lötschert
Print ISBN: 9783527719068ePub ISBN: 978-3-527-83609-3
Andrie de Vries verwendete R im Jahr 2009 erstmalig, um Umfragedaten zu analysieren, und ist seitdem regelmäßig überrascht über die Fähigkeit einer Open-Source-Gemeinde, hervorragende und innovative Software herzustellen. Ebenfalls 2009 gründete er PentaLibra Limited, ein kleines, aber feines Marktforschungsunternehmen, das sich auf Umfragen und statistische Analysen spezialisiert hat. Nachdem er sich immer stärker innerhalb der R-Community engagierte, wurde er Mitarbeiter bei Revolution Analytics, um R bei Großkunden zu etablieren und ihnen und anderen bei den Herausforderungen von Data Science und Big Data zu helfen. Zur Erhaltung seines seelischen Gleichgewichts lernt und praktiziert Andrie de Vries Yoga.
Joris Meys, MSc, ist Berater in Sachen Statistik sowie R-Programmierer und Dozent an der Universität Gent (Belgien). Nachdem er seinen Master in Biologie erwarb, arbeitete er zunächst sechs Jahre in Umweltforschung und -management, bis er fortgeschrittene Studien für einen Masterabschluss in statistischer Datenanalyse begann. Joris Meys schreibt Pakete sowohl für spezielle Projekte als auch generelle Methoden, die in seiner Abteilung entwickelt wurden. Darüber hinaus unterhält er mehrere Pakete bei R-Forge. Er ist Koautor mehrerer wissenschaftlicher Arbeiten, bei denen er den statistischen Part übernahm. Um Wissenschaft und Kultur in Einklang zu bringen, spielt er im überwiegenden Teil seiner Freizeit Saxofon in einigen lokalen Bands.
Dieses Buch ist für meine Frau Annemarie, für ihre Ermutigung, Unterstützung und Geduld. Es ist auch für meine Nichte Tanya, die wirklich gut in Mathe ist und nicht aufhörte, mich an den Abgabetermin des Manuskripts zu erinnern. Schlussendlich ist es für meine Eltern, für ihren lebenslangen Zuspruch.
– Andrie de Vries
Ich widme dieses Buch den wichtigsten Frauen in meinem Leben. Für meine Mutter, denn sie machte den Menschen aus mir, der ich jetzt bin. Für Eva, denn sie liebt den Mann, der ich bin. Für Amelie, weil ihr kleines Lächeln jedes Mal mein Herz zum Schmelzen bringt. Und für meine Großmutter – sie ist einfach wirklich super!
– Joris Meys
Dieses Buch wurde nur möglich durch die enorme Unterstützung, die wir vom Wiley-Verlag erfahren haben. Insbesondere danken wir Elizabeth Kuball (erste Auflage) und Katie Mohr (zweite Auflage).
Danke an unseren technischen Lektor, Gavin Simpson, für sein aufmerksames Lesen und viele hilfreiche Kommentare.
Wir danken Patrick Burns, dem Autor von R Inferno, für seine enthusiastische Unterstützung und die sehr detaillierte Rezension der ersten Auflage.
Danke an das R Core Team für die Entwicklung von R, für die Pflege des CRAN und die Hingabe an die R-Gemeinde in Form von Mailinglisten, Dokumentationen und Seminaren. Danke auch an die R-Gemeinde für Tausende hilfreicher Pakete, Blogs und beantwortete Fragen.
In diesem Buch verwenden wir einige Pakete von Hadley Wickham, dessen Paket ggplot2 und andere, wie zum Beispiel plyr, eine nicht versiegende Quelle der Inspiration für uns sind.
Beim Schreiben dieses Buchs profitierten wir von sehr hilfreicher Unterstützung vieler Teilnehmer der R-Gruppe von Stack Overflow. Vielen Dank an James (JD) Long, David Winsemius, Ben Bolker, Joshua Ulrich, Barry Rowlingson, Roman Luštrik, Joran Elias, Dirk Eddelbuettel, Richie Cotton, Colin Gillespie, Simon Urbanek, Gabor Grotendieck und die vielen weiteren, die Stack Overflow zu einer großen Informationsquelle für die ganze R-Gemeinde machen.
Von Andrie: Es ist keine Übertreibung, zu behaupten, dass dieses Buch zumindest teilweise dafür verantwortlich ist, dass sich mein Leben verändert hat. R zu erlernen, einen Beitrag zu seiner Open-Source-Community zu leisten und dieses Buch zu schreiben, hat alles dazu beigetragen, dass ich heute bei Revolution Analytics angestellt bin. Ich möchte all meinen Kollegen danken, insbesondere Derek McCrae Norton, David Smith und Joseph Rickert.
Joris Meys: Danke an die Professoren und Kollegen an der Fakultät für Mathematische Modellierung, Statistik und Bioinformatik der Universität Gent für erhellende Diskussionen und die Unterstützung, die ich während des Schreibens dieses Buchs erhalten habe.
Karl-Kuno Kunze (Übersetzer der ersten Auflage), geboren 1970, ist Professor für Wirtschaftsmathematik und -statistik an der Ostfalia Hochschule Braunschweig/Wolfenbüttel und arbeitet mit R seit 2004. Er promovierte zunächst in theoretischer Physik, dann in Wirtschaftswissenschaft. Robert Leidenfrost (Übersetzer der zweiten Auflagen), geboren 1986, ist Molekularmediziner und Bioinformatiker. Er arbeitet, forscht und lehrt an der Hochschule Mittweida, University of Applied Sciences. Die Sprache R begleitet ihn schon seit 2011. Die bei seinen wissenschaftlichen Arbeiten gewonnenen Daten prozessiert und visualisiert er am liebsten mit R. Rainer G. Haselier (Bearbeiter der 3. Auflage), geboren 1958, ist Diplom-Sozialpädagoge sowie Groß- und Außenhandelskaufmann und hat in den vergangenen 30 Jahren mehrere Hundert Bücher zu den Themenbereichen Programmierung, Betriebssysteme sowie Microsoft Office sowohl verfasst als auch übersetzt.
Cover
Titelblatt
Impressum
Über den Autoren
Widmung
Danksagungen
Über die Übersetzer/Bearbeiter
Einleitung
Über dieses Buch
Änderungen der zweiten Auflage
Änderungen der dritten Auflage
Konventionen in diesem Buch
Was Sie nicht lesen müssen
Törichte Annahmen über den Leser
Wie dieses Buch aufgebaut ist
Symbole, die in diesem Buch verwendet werden
Wie es weitergeht
Teil I: Sind Sie beReit?
Kapitel 1: R im Überblick
Die Vorteile der Anwendung von R erkennen
Einige bemerkenswerte Eigenschaften von R
Kapitel 2: R erkunden
Mit einem Code-Editor arbeiten
Ihre erste R-Sitzung starten
Ein Skript einlesen
Ihr Programm mit ausgeben
Sich im Arbeitsbereich zurechtfinden
Kapitel 3: Die Grundlagen von R
Die ganze Power von Funktionen ausschöpfen
Lesbaren Code verfassen
Von der R-Basis abheben
Teil II: Arbeiten mit R
Kapitel 4: Erste Schritte mit Arithmetik
Mit Zahlen, Unendlichkeit und fehlenden Werten arbeiten
Daten in Vektoren organisieren
Werte in Vektoren hinein- und aus ihnen herausbekommen
Mit logischen Vektoren arbeiten
Turbomathematik mit Vektorfunktionen
Kapitel 5: Erste Schritte im Lesen und Schreiben
Zeichenvektoren für Text verwenden
Text bearbeiten
Mit Faktoren arbeiten
Kapitel 6: Ihr erstes Date mit R
Mit Datumsangaben arbeiten
Datumsangaben in verschiedenen Formaten ausgeben
Datumsangaben um die Uhrzeit erweitern
Datumsangaben und Uhrzeiten formatieren
Verschiedene Operationen mit Datumsangaben und Uhrzeiten durchführen
Kapitel 7: Arbeiten in höheren Dimensionen
Eine zweite Dimension hinzufügen
Indizes verwenden
Matrixzeilen und -spalten benennen
Mit Matrizen rechnen
Weitere Dimensionen hinzufügen
Verschiedene Datentypen in Datensätzen vereinen
Werte in Datensätzen verändern
Verschiedene Objekte in Listen vereinen
Teil III: Programmieren in R
Kapitel 8: Mehr Fun mit Funktionen
Von Skripten zu Funktionen gelangen
Argumente geschickt einsetzen
Geltungsbereiche verstehen
Aufgaben an Methoden delegieren
Kapitel 9: Die Ablauflogik kontrollieren
Mit »if« Verzweigungen einbauen
Mit »if … else« eine Alternative vorgeben
Verzweigungen vektorisieren
Mehrere Alternativen vorgeben
Schleifen mit unterschiedlichen Werten durchlaufen
Schleifen ohne Schleifen bauen: Die »apply«-Familie
Kapitel 10: Fehlersuche
Wissen, wonach man suchen soll
Fehler- und Warnmeldungen entschlüsseln
Auf Fehlerjagd gehen
Ihre eigenen Meldungen verfassen
Fehler erkennen, die Sie sicher machen werden
Kapitel 11: Hilfe erhalten
Informationen in den Hilfeseiten finden
Das Internet nach Hilfe zu R durchsuchen
Der R-Onlinegemeinde beitreten
Ein reproduzierbares Minimalbeispiel erstellen
Teil IV: Daten zum Reden bringen
Kapitel 12: Daten lesen und schreiben
Daten in R einlesen
Daten aus R herausbekommen
Mit Dateien und Verzeichnissen arbeiten
Kapitel 13: Mit Daten arbeiten
Die passende Datenstruktur finden
Teilmengen von Daten bilden
Berechnete Felder hinzufügen
Daten verbinden und zusammenführen
Daten sortieren und ordnen
Daten mit den »apply«-Funktionen durchlaufen
Die Formelschnittstelle kennenlernen
Daten in Form bringen
Kapitel 14: Daten verdichten
Mit den richtigen Daten beginnen
Kontinuierliche Variablen beschreiben
Kategoriale Daten beschreiben
Verteilungen beschreiben
Mehrere Variablen beschreiben
Mit Tabellen arbeiten
Kapitel 15: Differenzen und Relationen untersuchen
Verteilungen genauer untersuchen
Zwei Stichproben vergleichen
Häufigkeiten und Verhältnisse testen
Mit Modellen arbeiten
Teil V: Mit Grafiken arbeiten
Kapitel 16: Mit den Basisfunktionen für Grafik arbeiten
Unterschiedliche Arten von Diagrammen erzeugen
Optionen und Argumente von »plot()« nutzen
Grafiken in Bilddateien speichern
Kapitel 17: Rastergrafiken mit »lattice«
Eine Rastergrafik mit »lattice« erzeugen
Grafikoptionen verändern
Verschiedene Diagrammtypen erzeugen
Daten in Gruppen darstellen
Eine »lattice«-Grafik ausgeben und speichern
Kapitel 18: Grammatik für Grafik: »ggplot2«
Das Paket »ggplot2« installieren und laden
Ebenen verstehen
»geom«-und »stat«-Argumente verwenden
Raster, Skalen und Optionen
Mehr Informationen erhalten
Teil VI: Der Top-Ten-Teil
Kapitel 19: Zehnmal R statt Excel
Zeilen- und Spaltensummen hinzufügen
Zahlen formatieren
Daten sortieren
Mit »if« Bedingungen einbauen
Teilsummen berechnen
Spalten oder Zeilen transponieren
Eindeutige Werte und Duplikate finden
Mit Wertetabellen arbeiten
Mit Pivot-Tabellen arbeiten
Zielwertsuche einsetzen
Kapitel 20: Zehn Tipps zum Arbeiten mit Packages
In den Ecken und Ritzen des CRAN herumschnüffeln
Interessante Pakete finden
Pakete installieren
Pakete laden
Das Handbuch und die Vignette zum Paket lesen
Pakete aktualisieren
R-Forge erforschen
R-Pakete von GitHub laden
Pakete aus dem Bioladen: BioConductor nutzen
Das R-Handbuch lesen
Anhang A: R und RStudio installieren
R installieren und konfigurieren
RStudio installieren und konfigurieren
Anhang B: Das »rfordummies«-Paket
Verwenden Sie »rfordummies«
Stichwortverzeichnis
Advertisement Page
End User License Agreement
Schummelseiten
Tabelle 1: Datenimport leicht gemacht
Tabelle 2: Noch mehr Funktionen zum Datenimport
Kapitel 4
Tabelle 4.1: Arithmetische Basisoperationen
Tabelle 4.2: Nützliche mathematische Funktionen in R
Tabelle 4.3: Ergebnisse für unendliche, NaN- und fehlende Werte
Tabelle 4.4: Werte vergleichen in R
Tabelle 4.5: Vektoroperationen
Kapitel 6
Tabelle 6.1: Gebräuchliche Funktionen für Datumsangaben
Tabelle 6.2: Einige Formatkürzel für die Datumsumwandlung (geeignet für
as.Date
,
Tabelle 6.3: Formatkürzel für den Zeitanteil von
POSIXct-
und
POSIXlt
-Objekten
Kapitel 9
Tabelle 9.1:
apply
,
sapply
und
lapply
verwenden
Kapitel 12
Tabelle 12.1: Funktionen zum Import von kommerziellen Statistiksystemen im Paket
Tabelle 12.2: Nützliche Funktionen für Dateien
Kapitel 13
Tabelle 13.1: Hilfreiche Objekte für die Datenanalyse
Tabelle 13.2: Mögliche Teilmengen festlegen
Tabelle 13.3: Einige Formeloperatoren und ihre Bedeutung
Kapitel 15
Tabelle 15.1: Auf Modellobjekte zugreifen
Kapitel 18
Tabelle 18.1: Eine Auswahl von
geom
-Elementen und zugehörigen
stat
-Elementen
Tabelle 18.2: Einige nützliche
stat
-Elemente und zugehörige
geom
-Elemente
Kapitel 2
Abbildung 2.1: Die Verknüpfungen zu RGui, 32- und 64-Bit, Version 4.0.4
Abbildung 2.2: Eine frisch geöffnete R-Sitzung in der RGui
Abbildung 2.3: R bittet Sie um Auskunft.
Abbildung 2.4: RStudio hat vier Arbeitsfenster.
Abbildung 2.5: Ein Skript vom Editor an die Konsole schicken
Abbildung 2.6: Die Verarbeitung Ihres Skripts mit und ohne
ECHO
Kapitel 5
Abbildung 5.1: Jedes Element eines Zeichenvektors ist ein Stück Text, häufig als ...
Abbildung 5.2: Numerische Vektoren und Faktoren im Vergleich
Kapitel 7
Abbildung 7.1: Vektor, Matrix und Datenfeld
Kapitel 8
Abbildung 8.1: Wie R die Umgebungen sieht.
Kapitel 10
Abbildung 10.1: Mit RStudio zum Debuggen durch eine Funktion wandern
Kapitel 12
Abbildung 12.1: Das Arbeitsblatt mit Elementen des Periodensystems dient uns in d...
Abbildung 12.2: Daten bearbeiten im interaktiven Texteditor
Abbildung 12.3: Ein Excel-Arbeitsblatt nach der Verwendung von
writeClipboard()
u...
Abbildung 12.4: Die ersten sechs Zeilen von
iris
nach dem Einfügen in eine Excel-...
Kapitel 13
Abbildung 13.1: Verschiedene Möglichkeiten, Daten zu verbinden
Abbildung 13.2: Verschiedene Arten,
merge()
zu verwenden, und deren Entsprechung ...
Abbildung 13.3: Verwenden Sie
apply
bei Matrizen; verwenden Sie
lapply
oder
sappl
...
Abbildung 13.4: Daten im schmalen (eingeschmolzenen) Format sind für die Arbeit m...
Kapitel 14
Abbildung 14.1: Ein Histogramm für Ihre Daten erzeugen
Abbildung 14.2: Die Dichtefunktion darstellen und mit einem Histogramm überlagern
Abbildung 14.3: Verwenden Sie die Funktion
boxplot()
, um diese Grafik zu erhalten...
Abbildung 14.4: Die Relationen zwischen Variablen eines Datensatzes
Kapitel 15
Abbildung 15.1: Histogramme für verschiedene Gruppen erzeugen
Abbildung 15.2: Ein Q-Q-Diagramm mit zwei unterschiedlichen Ensembles erzeugen
Abbildung 15.3: Merkmale mithilfe von Q-Q-Diagrammen mit der Normalverteilung ver...
Abbildung 15.4: Die Ergebnisse des Tukey'schen HSD-Tests als Diagramm
Abbildung 15.5: Eine Trendlinie durch die Daten legen
Kapitel 16
Abbildung 16.1: Ein Diagramm mit (Achsen-)Beschriftungen, (Haupt-)Überschrift und...
Abbildung 16.2: Ein Streudiagramm erstellen
Abbildung 16.3:
Abbildung 16.3
Verschiedenfarbige Punkte zum Diagramm hinzufügen
Abbildung 16.4: Einem Diagramm Linien hinzufügen
Abbildung 16.5: Den Diagrammtyp festlegen
Abbildung 16.6: Hinzufügen der (Haupt-)Überschrift sowie der Beschriftungen von x...
Abbildung 16.7: Die Ausrichtung der Beschriftung ändern
Abbildung 16.8: Die Rahmeneinstellungen ändern
Abbildung 16.9: Ausrichtung der Beschriftung, Rahmen, Farbe und Symbol ändern
Abbildung 16.10: Ändern der Schriftgröße der »Etiketten« sowie der Überschrift un...
Abbildung 16.11: Zwei Diagramme nebeneinander
Kapitel 17
Abbildung 17.1: Rastergrafiken wie diese ermöglichen eine synoptische Ansicht ver...
Abbildung 17.2: Ein
lattice
-Streudiagramm der Daten in
mtcars
Abbildung 17.3:
xyplot()
aus
lattice
mit Regressionslinien
Abbildung 17.4: Ein
lattice
-Diagramm mit Beschriftung
Abbildung 17.5: Die Schriftgröße in
lattice
-Grafiken ändern
Abbildung 17.6: Themen verwenden, um die Farbe von Datenpunkten und Linien zu änd...
Abbildung 17.7: Ein Balkendiagramm mit
barchart()
aus dem Paket
lattice
Abbildung 17.8: Einen Boxplot in
lattice
erstellen
Abbildung 17.9: Daten im schmalen Format verwenden, um unterschiedliche Variablen...
Abbildung 17.10: Ein
lattice
-Balkendiagramm (
bar chart
) mit Gruppen und Legende
Kapitel 18
Abbildung 18.1: Ein
ggplot2
-Diagramm des
faithful
-Datensatzes
Abbildung 18.2: Ein mit
geom:histogram()
beziehungsweise
geom:bar()
erstelltes Hi...
Abbildung 18.3: Verdichtete Daten in einem Balkendiagramm
Abbildung 18.4: Ein Streudiagramm mit
geom:point()
erstellen
Abbildung 18.5: Ein Liniendiagramm mit
geom:line()
erzeugen
Abbildung 18.6: Regressionslinien hinzufügen mit
stat_smooth()
Abbildung 18.7: Raster hinzufügen mit
facet_grid()
Abbildung 18.8: Die Einstellungen von
ggplot2
verändern
Kapitel 19
Abbildung 19.1: Ein Modell erwarteter Mengen und Umsätze abhängig vom Preis
Anhang A
Abbildung A.1: Das Optionenfenster von RStudio. Je nach Version und Installation ...
Cover
Inhaltsverzeichnis
Fangen Sie an zu lesen
1
2
5
6
7
8
21
22
23
24
25
26
27
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
53
54
55
56
57
58
59
60
61
62
63
64
65
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
Teil I
IN DIESEM TEIL …
stellen wir Ihnen die Grundkonzepte von R vor.schreiben Sie Ihr erstes Skript.schreiben Sie klaren, lesbaren Code.Kapitel 1
IN DIESEM KAPITEL
Die Vorteile von R entdecken
Einige Programmierkonzepte kennenlernen, die für R charakteristisch sind
Mit geschätzt weltweit mehr als zwei Millionen Anwendern hat sich die Sprache R seit ihren Ursprüngen als Lehr- und Übungssprache in den 1990er-Jahren schnell verbreitet.
Manche Leute würden behaupten, dass R weit mehr ist als eine statistische Programmiersprache – das sehen wir genauso. R ist auch
ein sehr leistungsstarkes Werkzeug für alle Arten von Datenverarbeitung und -bearbeitung.
eine Gemeinde von Programmierern, akademischen Anwendern sowie Anwendern aus der Praxis.
ein Werkzeug, das alle möglichen Grafiken und Visualisierungen von Daten in Publikationsqualität erzeugt.
eine riesige Sammlung von zusätzlichen Paketen.
ein ganzer Werkzeugkoffer mit unglaublicher Vielseitigkeit.
In diesem Kapitel informieren wir Sie über die Vorteile von R sowie seine einzigartigen Eigenschaften und Eigenarten.
Sie können R von der Site www.r-project.org herunterladen. Auf der Website erhalten Sie auch weitere Information über R sowie Links zu Onlinehandbüchern, Mailinglisten, Konferenzen und weiteren Publikationen. Hinweise zur Installation finden Sie in Anhang A.
Ross Ihaka und Robert Gentleman entwickelten R als freie Software für ihre Lehrveranstaltungen während ihrer Zeit als Kollegen an der Universität von Auckland in Neuseeland. Beide kannten S, eine kommerzielle Sprache für Statistik, und so verwendeten sie ähnliche Syntax für ihr Projekt. Nachdem Ithaka und Gentleman ihre Software auf der S-News-Mailingliste angekündigt hatten, wurde das Projekt zunehmend auch für andere Personen interessant, die dann mit den Initiatoren zusammenarbeiteten, einer von ihnen war Martin Mächler.
Aktuell (Stand Februar 2021) haben 20 Personen das Recht, das zentrale Archiv des Quellcodes von R zu verändern. Diese bilden das R Development Core Team. Darüber hinaus haben viele weitere Personen neuen Code sowie Fehlerbehebungen zum Projekt beigesteuert.
Hier ein paar Meilensteine in der Entwicklung von R:
Frühe 1990er: Die Entwicklung von R begann.August 1993: Die Software wurde in der S-Mailingliste angekündigt. Seitdem wurden einige aktive R-Mailinglisten ins Leben gerufen. Die Webseite www.r-project.org/mail.html enthält Beschreibungen der einzelnen Listen und Anleitungen, wie man sie abonniert. (Mehr Informationen hierzu finden Sie im Abschnitt »Eine engagierte Nutzergemeinde« weiter hinten in diesem Kapitel.)Juni 1995: Mithilfe einiger überzeugender Argumente von Martin Mächler und einigen anderen gelang es, den Code als »Freie Software« unter der GNU General Public License (GPL) Version 2 der Free Software Foundation zur Verfügung zu stellen.Mitte 1997: Das erste R Development Core Team wurde gebildet (damals noch unter dem Namen core group).Februar 2000: Die erste Version von R, Version 1.0.0, wurde veröffentlicht.Oktober 2004: Veröffentlichung der Version 2.0.0 von R.April 2013: Veröffentlichung der Version 3.0.0 von R.April 2020: Veröffentlichung der Version 4.0.0 von R.Februar 2021: Veröffentlichung der Version 4.0.4 von R (das ist die in diesem Buch verwendete Version).Ross Ihaka hat einen umfassenden Überblick über die Entwicklung von R verfasst. Dieser kann unter http://cran.r-project.org/doc/html/interface98-paper/paper.html eingesehen werden.
Von den vielen attraktiven Vorteilen von R sind einige besonders erwähnenswert: R wird aktiv weiterentwickelt, hat gute Schnittstellen zu den verschiedensten Datenformaten und anderen Systemen und ist äußerst flexibel, sodass es in sehr unterschiedlichen Bereichen eingesetzt werden kann. Und das Allerbeste: Es ist kostenlos – mit allen Vorteilen.
R ist unter einer Open-Source-Lizenz zugänglich, das heißt, jeder kann den Quellcode herunterladen und verändern. Häufig wird das als »frei wie Sprache« bezeichnet (man kann damit machen, was man will). R ist zudem kostenlos erhältlich, also »frei wie Freibier« (zwar kostenlos, aber möglicherweise mit geheimem Rezept und verbunden mit gewissen Einschränkungen hinsichtlich der Verwendung). Kurz, Sie können R kostenlos herunterladen und verwenden.
Ein weiterer Vorteil, obgleich etwas weniger offensichtlich, liegt in der Tatsache, dass jeder den Quellcode einsehen, verändern und verbessern kann. Auf diese Weise haben viele exzellente Programmierer Verbesserungen und Fehlerbehebungen am Quellcode vorgenommen. Aus diesem Grund läuft R sehr stabil und zuverlässig.
Jede Freiheit ist mit Einschränkungen verbunden. Im Fall von R wird dies in der GNU General Public License (GPL), Version 2 geregelt. Der vollständige Wortlaut der Lizenzbestimmungen kann unter www.r-project.org/COPYING eingesehen werden. Beachten Sie, dass die Bestimmungen nur die Weitergabe von Code betreffen. Die Nutzung ist davon unberührt. In Kurzform sagt die Lizenz: Wenn Sie Code verändern oder weitergeben, müssen Sie diesen für alle (frei) zugänglich machen.
Das R Development Core Team hat einigen Aufwand betrieben, um die Software auf verschiedenen Typen von Hardware und Software lauffähig zu machen. Dies bedeutet, R läuft auf Windows, Unix (auch Linux) und dem Mac.
R selbst ist eine leistungsstarke Sprache, die viele verschiedene Funktionen wie Datenbearbeitung, statistische Modellierung und Grafik umfasst. Ein wirklich großer Vorteil ist jedoch seine Erweiterbarkeit. Entwickler können problemlos eigene Software schreiben und als Erweiterungspaket veröffentlichen. Da es vergleichsweise einfach ist, solche Erweiterungen zu schreiben, existieren wirklich Tausende von Paketen. In der Tat werden heute viele neue (und nicht so neue) statistische Methoden zusammen mit einem R-Paket veröffentlicht.
Die Anzahl der R-Anwender wächst kontinuierlich. Viele Anwender unterstützen Neulinge bei den ersten Schritten oder setzen sich für die Verwendung von R in ihrem Arbeitsbereich und Kollegenkreis ein. Manchmal werden sie auch aktiv
in R-Mailinglisten
(
www.r-project.org/mail.html
).
Foren, wie
Stack Overflow
,
einer Seite für R-Programmierer (
www.stackoverflow.com/questions/tagged/r
)
CrossValidated
, einer Seite für Statistiker (
http://stats.stackexchange.com/questions/tagged/r
)
Zusätzlich zu diesen Mailinglisten und Foren gibt es R-Anwender, die
aktive Blogger
sind (
www.r-bloggers.com
),
sich in
sozialen
Netzwerken wie Twitter
(
www.twitter.com/search/rstats
)
engagieren
und auf regionalen und internationalen Konferenzen zu finden sind.
Für weitere Informationen siehe auch Kapitel 11.
Nachdem mehr und mehr Menschen begannen, für ihre Analysen auf R umzusteigen, versuchten sie, R mit ihren alten Prozessen zu kombinieren. Dies führte zu einer riesigen Auswahl von Paketen, die R mit Dateisystemen, Datenbanken und anderen Anwendungen verbinden. Viele dieser Pakete sind mit der Zeit in die Basisinstallation von R aufgenommen worden und stehen nach dem Download gleich zur Verfügung.
Das Paket foreign (https://cran.r-project.org/web/packages/foreign/index.html) ermöglicht zum Beispiel den lesenden Zugriff auf Dateien, die von Statistikpaketen wie SPSS, SAS, Stata und anderen stammen (siehe Kapitel 12).
Für die Anbindung an Datenbanken stehen mehrere Pakete zur Verfügung, beispielsweise
das
RODBC
-Paket für
Datenbanken, die das
Open Database Connectivity Protocol
(ODBC)
verwenden (
https://cran.r-project.org/web/packages/RODBC/index.html
), oder
das
ROracle
-Paket
für Oracle-Datenbanken (
https://cran.r-project.org/web/packages/ROracle/index.html
).
Zu Beginn wurde R im Wesentlichen in Fortran und C geschrieben. Daher konnte Code in diesen beiden Sprachen problemlos aus R heraus aufgerufen werden. Mit der Zeit kamen immer mehr Sprachen wie C++, Java, Python und weitere hinzu, die auf einfache Weise aus R heraus aufgerufen werden können.
Da es immer mehr R-Anwender gab, konnten die Entwickler kommerzieller Softwarelösungen R nicht mehr einfach ignorieren. Deshalb enthalten heute viele der großen kommerziellen Softwarepakete Add-ons zur Anbindung an R. Dies betrifft besonders die SPSS-Software (IBM) als auch SAS (SAS Institute). In beiden Fällen gibt es Schnittstellen, um Daten und Grafiken zwischen R und der jeweiligen Statistiksoftware hin- und herzubewegen.
Auch andere Entwickler haben zur besseren Verknüpfbarkeit unterschiedlicher Datenanalyse- und Statistiksoftware beigetragen. Beispielsweise hat Statconn RExcel entwickelt, eine Excel-Schnittstelle, die es Anwendern erlaubt, mit R innerhalb von Excel zu arbeiten (http://www.statconn.com/products.html).
R ist mehr als eine Programmiersprache für den Statistikbereich. Es hat einige einzigartige Eigenschaften, die es sehr leistungsstark machen. Dazu gehört das vektorwertige Konzept, das Berechnungen mit vielen Werten auf einmal ermöglicht.
R ist eine vektorbasierte Sprache. Stellen Sie sich einen Vektor als Zeile oder Spalte mit Zahlen oder Text vor. Die Liste der Zahlen {1,2,3,4,5} könnte beispielsweise einen Vektor darstellen. Im Gegensatz zu vielen anderen Programmen ermöglicht Ihnen R, Funktionen auf den ganzen Vektor gleichzeitig anzuwenden, ohne dass Sie eine Schleife programmieren müssen.
Lassen Sie uns das mit richtigem R-Code illustrieren. Zunächst weisen wir die Werte 1:5 einem Vektor zu, den wir x nennen:
> x <- 1:5
> x
[1] 1 2 3 4 5
Anschließend addieren wir zu jedem Element des Vektors x den Wert 2 und geben das Ergebnis aus:
> x + 2
[1] 3 4 5 6 7
Sie können auch zwei Vektoren addieren. Um die Werte 6:10 elementweise zu x zu addieren, geben Sie ein:
> x + 6:10
[1] 7 9 11 13 15
In den meisten anderen Programmiersprachen würden diese Operationen eine explizite Schleife erfordern, die die Addition elementweise durchführt.
Diese Eigenschaft ist äußerst hilfreich, da sie Ihnen ermöglicht, viele Operationen in einem einzigen Schritt auszuführen. In anderen Sprachen, die nicht vektororientiert sind, müssten Sie Schleifen programmieren, um dasselbe zu erreichen.
Wir stellen das Konzept der Vektoren in Kapitel 2 vor und vertiefen Vektoren und Vektorisierung gründlich in Kapitel 4.
R wurde von Statistikern entwickelt, um statische Berechnungen zu vereinfachen. Dieses Erbe besteht fort: R ist immer noch ein sehr leistungsstarkes Werkzeug, um praktisch jede statistische Berechnung durchzuführen.
Je mehr sich R über seine Ursprünge in Statistik hinaus entwickelte, zog es immer mehr Programmierer als reine Statistiker an. Aus diesem Grund ist R sehr geeignet für eine Reihe nicht statistischer Aufgaben. Dazu gehören Datenbearbeitung, grafische Visualisierung und Analysen aller Art. Aktuell wird R in den Bereichen Finanzmathematik, Sprachverarbeitung, Genetik, Biologie und Marktforschung verwendet, um nur einige zu nennen.
R ist Turing-vollständig. Dies bedeutet, Sie können damit alles programmieren, was Sie wollen. (Das wird allerdings nicht immer einfach sein.)
Für dieses Buch nehmen wir an, dass Sie die Programmierung mit R erlernen wollen, und nicht Statistik. Dennoch enthält Teil IV eine Einführung in Statistik.
R ist eine interpretierte Sprache, Sie benötigen also – im Gegensatz zu kompilierten Sprachen wie Java oder C – keinen Compiler, der aus Ihrem Code erst ein ausführbares Programm erstellt, bevor Sie es verwenden können. R interpretiert den von Ihnen vorgegebenen Code und wandelt ihn in Aufrufe vorkompilierter Funktionen um.
In der Praxis bedeutet dies, dass Sie einfach Ihren Code schreiben und an R senden, wo er direkt ausgeführt wird. Dies vereinfacht den Entwicklungszyklus enorm. Diese Bequemlichkeit gibt es jedoch nicht ganz umsonst. Die Ausführung des Codes dauert etwas länger. Interpretierte Sprachen sind meist langsamer als kompilierte.
Wenn Sie bereits Erfahrung mit anderen Sprachen haben, führen Sie sich bitte immer wieder vor Augen, dass R nicht