R für Dummies - Andrie de Vries - E-Book

R für Dummies E-Book

Andrie de Vries

0,0
21,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

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:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 603

Veröffentlichungsjahr: 2021

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



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

Über den Autoren

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.

Widmung

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

Danksagungen

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.

Über die Übersetzer/Bearbeiter

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.

Inhaltsverzeichnis

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

Tabellenverzeichnis

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

Illustrationsverzeichnis

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 ...

Orientierungspunkte

Cover

Inhaltsverzeichnis

Fangen Sie an zu lesen

Seitenliste

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

Sind Sie beReit?

IN DIESEM TEIL …

stellen wir Ihnen die Grundkonzepte von R vor.schreiben Sie Ihr erstes Skript.schreiben Sie klaren, lesbaren Code.

Kapitel 1

R im Überblick

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.

Auf den Spuren der Geschichte von R

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.

Die Vorteile der Anwendung von R erkennen

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.

Kostenloser, frei zugänglicher Quellcode

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.

Läuft überall

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.

Unterstützt Erweiterungen

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.

Eine engagierte Nutzergemeinde

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.

Schnittstellen zu anderen Sprachen

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).

Einige bemerkenswerte Eigenschaften von R

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.

Berechnungen mit Vektoren durchführen

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.

Mehr als nur statistische Berechnungen

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.

Code ohne Compiler ausführen

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