Cover image for R in a Nutshell

Book description

Wozu sollte man R lernen? Da gibt es viele Gründe: Weil es sich gerade zum Goldstandard für die Lösung statistischer Probleme und die Entwicklung eigener Analyseprogramme mausert. Weil man damit natürlich mehr Werkzeuge an der Hand hat als mit einer Tabellenkalkulation wie Excel, aber auch mehr Spielraum als mit gängiger Statistiksoftware wie SPSS und SAS. Anders als bei diesen hat man nämlich neben den fertigen Analyse- und Visualisierungsmethoden auch eine komplette Programmiersprache zur Verfügung, mit der sich eigene Algorithmen entwickeln lassen. Außerdem ist R Open Source und erobert momentan von der universitären Welt ausgehend die professionelle Statistik.

Table of Contents

  1. R in a Nutshell
  2. Vorwort
    1. Warum ich dieses Buch geschrieben habe
    2. Wann sollte man mit R arbeiten?
    3. Die Lizenzbedingungen von R
    4. Die Beispiele
    5. Der Aufbau dieses Buchs
    6. Die Konventionen in diesem Buch
    7. Verwendung der Codebeispiele
    8. Danksagungen
  3. I. R-Grundlagen
    1. 1. Beschaffung und Installation von R
      1. R-Versionen
      2. Gebrauchsfertige R-Distribution laden und installieren
        1. Windows
        2. Mac OS X
        3. Linux- und Unix-Systeme
          1. Installation mit einem Paketmanagementsystem
          2. Heruntergeladene Dateien manuell installieren
    2. 2. Die R-Benutzerschnittstelle
      1. Die grafische Benutzerschnittstelle von R
        1. Windows
        2. Mac OS X
        3. Linux und Unix
      2. Die R-Konsole
        1. Eingaben auf der Kommandozeile
      3. Stapelverarbeitung
      4. Mit Microsoft Excel auf R zugreifen
      5. Andere Methoden, R auszuführen
    3. 3. Kurzeinführung in R
      1. Einfache Operationen in R
      2. Funktionen
      3. Variablen
      4. Einführung in Datenstrukturen
      5. Objekte und Klassen
      6. Modelle und Formeln
      7. Diagramme und Grafiken
      8. Hilfe abrufen
    4. 4. R-Pakete
      1. Überblick über Pakete
      2. Pakete in lokalen Bibliotheken auflisten
      3. Pakete laden
        1. Pakete unter Windows und Linux laden
        2. Pakete unter Mac OS X laden
      4. Durchsuchen von Paket-Repositories
        1. Paketrecherche im Internet
        2. Pakete mit R suchen und installieren
          1. Windows- und Linux-GUIs
          2. Mac OS X-GUI
          3. R-Konsole
          4. Installation von der Kommandozeile des Betriebssystems
      5. Eigene Pakete
        1. Verzeichnisgerüst für ein Paket anlegen
        2. Ein Paket erstellen
  4. II. Die Programmiersprache R
    1. 5. Überblick über die Programmiersprache R
      1. Ausdrücke
      2. Objekte
      3. Symbole
      4. Funktionen
      5. Objekte werden in Zuweisungen kopiert
      6. In R ist alles ein Objekt
      7. Spezielle Werte
        1. NA
        2. Inf und -Inf
        3. NaN
        4. NULL
      8. Typumwandlung
      9. Der R-Interpreter
      10. R-Sprachelemente inspizieren
    2. 6. R-Syntax
      1. Konstanten
        1. Numerische Vektoren
        2. Zeichenvektoren
        3. Symbole
      2. Operatoren
        1. Rangfolge von Operationen
        2. Zuweisungen
      3. Ausdrücke
        1. Ausdrücke trennen
        2. Runde Klammern
        3. Geschweifte Klammern
      4. Kontrollstrukturen
        1. Bedingte Anweisungen
        2. Schleifen
      5. Zugriff auf Datenstrukturen
        1. Operatoren für Datenstrukturen
        2. Indexzugriff mit Integervektoren
        3. Indexzugriff mit logischen Vektoren
        4. Elementzugriff über den Namen
      6. R-Codekonventionen
    3. 7. R-Objekte
      1. Basisdatentypen
      2. Vektoren
      3. Listen
      4. Weitere Datentypen
        1. Matrizen
        2. Arrays
        3. Faktoren
        4. Datenrahmen
        5. Formeln
        6. Zeitreihen
        7. Schindeln
        8. Datum und Zeit
        9. Datenkanäle
      5. Attribute
        1. Klassen
    4. 8. Symbole und Umgebungen
      1. Symbole
      2. Mit Umgebungen arbeiten
      3. Die globale Umgebung
      4. Umgebungen und Funktionen
        1. Mit dem Aufrufstapel arbeiten
        2. Funktionen in anderen Umgebungen evaluieren
        3. Objekte zu Umgebungen hinzufügen
      5. Ausnahmen
        1. Fehler anzeigen
        2. Fehler abfangen
    5. 9. Funktionen
      1. Funktionen deklarieren
      2. Argumente
      3. Rückgabewerte
      4. Funktionen als Argumente
        1. Anonyme Funktionen
        2. Eigenschaften von Funktionen
      5. Benannte Argumente und Auswertungsreihenfolge
      6. Seiteneffekte
        1. Änderungen an anderen Umgebungen
        2. Eingabe/Ausgabe
        3. Grafik
    6. 10. Objektorientierte Programmierung
      1. Überblick über objektorientierte Programmierung in R
        1. Kernkonzepte
        2. Implementierungsbeispiel
      2. Objektorientierte Programmierung in R: S4-Klassen
        1. Klassen definieren
        2. Neue Objekte erzeugen
        3. Zugriff auf Slots
        4. Arbeit mit Objekten
        5. Typumwandlungsmethoden anlegen
        6. Generische Funktionen und Methoden
        7. Generische Funktionen und Methoden verwalten
        8. Basisklassen
        9. Zusätzliche Hilfe
      3. OOP nach alter Schule in R: S3
        1. S3-Klassen
        2. S3-Funktionen und Methoden
        3. S3-Klassen in S4 einsetzen
        4. Nach unsichtbaren S3-Methoden suchen
    7. 11. Hochperformantes R
      1. Interne Mathematikfunktionen benutzen
      2. Auswertungsumgebungen als Look-up-Tabellen
      3. Große Datensätze in einer Datenbank verwalten
      4. Speicher vorbelegen
      5. Arbeitsspeicher verwalten
        1. Speicherverbrauch überwachen
        2. Verfügbaren Speicher erhöhen
        3. Objekte entsorgen
      6. Funktionen für große Datensätze
      7. Paralleles Rechnen mit R
      8. Hochperformante R-Binaries
        1. Revolution R
        2. R selbst erstellen
          1. Kompilierung unter Microsoft Windows
          2. Kompilierung auf Linux- und Unix-Systemen
          3. Kompilierung unter Mac OS X
  5. III. Daten aufbereiten und darstellen
    1. 12. Daten speichern, laden und bearbeiten
      1. Dateneingabe in R
        1. Daten mit R-Anweisungen eingeben
        2. Dateneingabe mit dem GUI
          1. Der Dateneditor unter Windows
          2. Der Dateneditor unter Mac OS X
          3. Der Dateneditor in X Windows (Linux)
      2. R-Objekte speichern und laden
        1. Objekte mit save() speichern
      3. Daten aus externen Dateien importieren
        1. Textdateien
          1. Trennzeichenbasierte Datendateien
          2. Datendateien mit fester Breite
          3. Weitere Funktionen zum Einlesen von Daten
        2. Dateiformate von Fremdsoftware
      4. Daten exportieren
      5. Daten aus Datenbanken importieren
        1. Erst exportieren, dann importieren
        2. Pakete zur Datenbankanbindung
        3. RODBC
          1. RODBC konfigurieren
            1. RODBC installieren
            2. ODBC-Treiber installieren
            3. Beispiel: SQLite-ODBC unter Mac OS X
            4. Beispiel: SQLite-ODBC unter Windows
          2. Mit RODBC arbeiten
            1. Datenbankverbindungen öffnen
            2. Informationen zu Datenbankverbindungen abrufen
            3. Datenbanken abfragen
            4. Datenbankverbindungen schließen
        4. DBI
          1. Datenbankverbindungen öffnen
          2. Informationen zu Datenbankverbindungen abrufen
          3. Datenbanken abfragen
          4. Datenbankverbindungen schließen
        5. TSDBI
    2. 13. Datenaufbereitung
      1. Datensätze kombinieren
        1. Datenstrukturen montieren
          1. Die Funktion paste()
          2. Die Funktionen rbind() und cbind()
          3. Ein ausführliches Beispiel
        2. Daten über Schlüsselspalten zusammenführen
      2. Transformationen
        1. Variablen umdefinieren
        2. Die Funktion transform()
        3. Eine Funktion auf jedes Element eines Objekts anwenden
          1. Eine Funktion auf ein Array anwenden
          2. Eine Funktion auf eine Liste oder einen Vektor anwenden
      3. Klasseneinteilung
        1. Schindeln
        2. Die Funktion cut()
        3. Objekte über eine Gruppierungsvariable kombinieren
      4. Teilmengen
        1. Indexnotation
        2. Die Funktion subset()
        3. Zufallsauswahl
      5. Daten aggregieren
        1. Die Funktionen tapply() und aggregate()
        2. Tabellen mit rowsum() aggregieren
        3. Werte auszählen
        4. Daten umstrukturieren
          1. Matrizen und Datenrahmen transponieren
          2. Matrizen und Datenrahmen umformen
      6. Datenbereinigung
      7. Dubletten identifizieren und beseitigen
      8. Daten sortieren
    3. 14. Grafik
      1. Überblick über Grafiken in R
        1. Streudiagramme
        2. Zeitreihendiagramme
        3. Balkendiagramme
        4. Kreisdiagramme
        5. Kategoriale Daten grafisch darstellen
        6. Dreidimensionale Daten
        7. Verteilungen plotten
        8. Box-Plots
      2. Grafik-Devices
      3. Grafiken anpassen
        1. Typische Argumente der Diagrammfunktionen
        2. Grafikparameter
          1. Beschriftung
          2. Ränder
          3. Mehrfachdiagramme
          4. Texteigenschaften
            1. Schriftgrad
            2. Schriftart
            3. Textausrichtung und Zeilenabstand
            4. Rotation
          5. Linieneigenschaften
          6. Farben
          7. Achsen
          8. Punkte
          9. Grafikparameter nach Namen
        3. Low-Level-Grafikfunktionen
          1. Die Funktion points()
          2. Die Funktion lines()
          3. Die Funktion curve()
          4. Die Funktion text()
          5. Die Funktion abline()
          6. Die Funktion polygon()
          7. Die Funktion segments()
          8. Die Funktion legend()
          9. Die Funktion title()
          10. Die Funktion axis()
          11. Die Funktion box()
          12. Die Funktion mtext()
          13. Die Funktion trans3d()
    4. 15. Trellis-Grafik mit Lattice
      1. Geschichte
      2. Überblick über das lattice-Paket
        1. Die Arbeitsweise von Lattice
        2. Ein einfaches Beispiel
        3. Lattice-Funktionen anwenden
        4. Panel-Funktionen anpassen
      3. High-Level-Grafikfunktionen in Lattice
        1. Univariate Trellis-Diagramme
          1. Balkendiagramme
          2. Punktdiagramme
          3. Histogramme
          4. Dichtediagramme
          5. Eindimensionale Streudiagramme
          6. Univariate Quantil-Quantil-Plots
        2. Bivariate Trellis-Diagramme
          1. Streudiagramme
          2. Box-Plots
          3. Streudiagrammgitter
          4. Bivariate Quantil-Quantil-Plots
        3. Trivariate Trellis-Diagramme
          1. Rasterdiagramme
          2. Konturdiagramme
          3. Dreidimensionale Streudiagramme (Cloud-Plots)
          4. Perspektivische Oberflächendiagramme (Wireframe-Plots)
        4. Weitere Diagrammtypen
      4. Lattice-Grafiken anpassen
        1. Allgemeine Argumente in Lattice-Funktionen
        2. Die Funktion trellis.skeleton()
        3. Achseneinrichtung kontrollieren
        4. Lattice-Parameter
        5. Die Funktion plot.trellis()
        6. Die Funktion strip.default()
        7. Die Funktion simpleKey()
      5. Low-Level-Grafikfunktionen in Lattice
        1. Funktionen für Grafikelemente
        2. Panel-Funktionen
  6. IV. Statistik mit R
    1. 16. Datenexploration
      1. Lage- und Streuungsmaße
      2. Korrelation und Kovarianz
      3. Hauptkomponentenanalyse
      4. Faktorenanalyse
      5. Bootstrap-Resampling
    2. 17. Wahrscheinlichkeitsverteilungen
      1. Die Normalverteilung
      2. Argumente von Verteilungsfunktionen
      3. Wahrscheinlichkeitsverteilungsfamilien
    3. 18. Statistische Testverfahren
      1. Parametrische Tests
        1. Mittelwertvergleiche bei einer oder zwei Stichproben
        2. Vergleich verbundener Daten
        3. Mittelwertvergleiche zwischen mehr als zwei Gruppen
        4. Paarweise t-Tests für mehrere Gruppen
        5. Varianzvergleiche bei zwei oder mehr Stichproben
        6. Test einer Stichprobe auf Normalverteiltheit
        7. Test einer Stichprobe auf eine beliebige Verteilung
        8. Test von zwei Stichproben auf gleiche Verteilung
        9. Absicherung von Korrelationen
      2. Verfahren für Rangdaten
        1. Vergleich von einer oder zwei Stichproben
        2. Vergleiche von mehr als zwei unverbundenen Stichproben
        3. Vergleiche von mehr als zwei verbundenen Stichproben
        4. Variabilitätsvergleiche bei zwei oder mehr Stichproben
      3. Verfahren für Häufigkeitsdaten
        1. Vergleich von zwei Anteilen in einer Stichprobe
        2. Vergleich von zwei Anteilen in mehr als einer Stichprobe
        3. Vergleich von k-fach gestuften Häufigkeitsdaten
        4. Weitere Häufigkeitstests
    4. 19. Poweranalyse
      1. Beispiel: Planung einer Medikamentenstudie
      2. Planung eines t-Tests
      3. Planung eines Anteilstests
      4. Planung einer Varianzanalyse
    5. 20. Regressionsmodelle
      1. Beispiel: Ein einfaches lineares Regressionsmodell
        1. Anpassen eines linearen Modells
        2. Justierung eines linearen Modells
        3. Hilfsfunktionen für die Modellanpassung
        4. Analytik linearer Modelle
          1. Anzeige von linearen Modellen
          2. Diagnostik linearer Modelle
          3. Vorhersagen mithilfe von Regressionsmodellen
      2. Die klassische lineare Regression im Detail
        1. Annahmen der linearen Regression nach der Methode der kleinsten Quadrate
        2. Robuste und resistente lineare Regressionsverfahren
          1. Resistente lineare Regression
          2. Robuste lineare Regression
          3. Vergleich von lm(), lqs() und rlm()
      3. Prädiktorselektion und Schrumpfungsmethoden
        1. Schrittweise Prädiktorselektion
        2. Ridge-Regression
        3. LASSO- und Least-Angle-Regression
        4. Hauptkomponentenregression und Partial-Least-Squares-Regression
      4. Regressionsverfahren für andere Modellannahmen
        1. Das generalisierte lineare Modell
        2. Das generalisierte additive Modell
        3. Nichtlineare kleinste Quadrate
      5. Überlebensanalyse
      6. Glättungsverfahren
        1. Splines
        2. Lokale polynomiale Glättung
        3. Kernglättung
      7. Regression und maschinelles Lernen
        1. Regressionsbäume
          1. Rekursive Partitionierung
          2. Der Patient Rule-Induction Method-Algorithmus
          3. Bagging für Regressionsbäume
          4. Boosting für Regressionsbäume
          5. Random-Forest-Regression
        2. MARS
        3. Neuronale Netze
        4. Projection-Pursuit-Regression
        5. Support Vector Machines
    6. 21. Klassifikationsmodelle
      1. Lineare Klassifikationsmodelle
        1. Logistische Regression
        2. Diskriminanzanalyse
        3. Log-lineare Klassifikationsmodelle
      2. Klassifikation und maschinelles Lernen
        1. k-Nächste-Nachbarn
        2. Klassifikationsbäume
          1. Bagging für Klassifikationsbäume
          2. Boosting für Klassifikationsbäume
          3. Random-Forest-Klassifikation
        3. Neuronale Netze
        4. Support Vector Machines
    7. 22. Maschinelles Lernen
      1. Warenkorbanalyse
      2. Verfahren der Clusteranalyse
        1. Distanzmaße
        2. Clusteralgorithmen
    8. 23. Zeitreihenanalyse
      1. Autokorrelationsmaße
      2. Zeitreihenmodelle
    9. 24. Bioconductor
      1. Ein Beispiel
        1. Laden von Intensitätsdaten
        2. Expressionsdaten laden
        3. Phänotypdaten zuordnen
        4. Analyse von Expressionsdaten
      2. Wichtige Bioconductor-Pakete
      3. Datenstrukturen
        1. eSet
        2. AssayData
        3. AnnotatedDataFrame
        4. MIAME
        5. Ausgewählte Klassen aus anderen Bioconductor-Paketen
      4. Wie geht es weiter?
        1. Ressourcen außerhalb des Bioconductor
        2. Vignetten
        3. Schulungen
        4. Literatur
  7. A. Funktionsreferenz
    1. Das Paket base
      1. Funktionen
      2. Interne Datenstrukturen und Werte
    2. Das Paket boot
      1. Funktionen
    3. Das Paket class
      1. Funktionen
    4. Das Paket cluster
      1. Funktionen
    5. Das Paket codetools
    6. Das Paket foreign
      1. Funktionen
    7. Das Paket graphics
      1. Funktionen
    8. Das Paket grDevices
      1. Funktionen
      2. Interne Datenstrukturen und Werte
    9. Das Paket grid
    10. Das Paket KernSmooth
      1. Funktionen
    11. Das Paket lattice
      1. Funktionen
    12. Das Paket MASS
      1. Funktionen
    13. Das Paket Matrix
    14. Das Paket methods
      1. Funktionen
    15. Das Paket mgcv
    16. Das Paket nlme
    17. Das Paket nnet
      1. Funktionen
    18. Das Paket rpart
      1. Funktionen
    19. Das Paket spatial
      1. Funktionen
    20. Das Paket splines
      1. Funktionen
    21. Das Paket stats
      1. Funktionen
      2. Interne Datenstrukturen und Werte
    22. Das Paket stats4
      1. Funktionen
    23. Das Paket survival
      1. Funktionen
      2. Interne Datenstrukturen und Werte
    24. Das Paket tcltk
    25. Das Paket tools
      1. Funktionen
      2. Interne Datenstrukturen und Werte
    26. Das Paket utils
      1. Funktionen
      2. Interne Datenstrukturen und Werte
  8. B. Datensatzreferenz
    1. Beispieldaten im Paket boot
    2. Beispieldaten im Paket cluster
    3. Beispieldaten im Paket datasets
    4. Beispieldaten im Paket lattice
    5. Beispieldaten im Paket MASS
    6. Beispieldaten im Paket rpart
    7. Beispieldaten im Paket survival
  9. C. Literatur
  10. D. Über den Autor
  11. E. Über den Übersetzer
  12. Stichwortverzeichnis
  13. Kolophon