Jakob Richter

Statistik, R, Fotografie und Sonstiges

R Archiv

  • 07.2012
  • ggplot2: Tipps für Grafiken in schwarz weiß

    Das ggplot2 hübschere und buntere Grafiken als unter R standard erzeugt sollte mittlerweile jeder wissen. Doch es geht mit ein paar Tricks auch in Graustufen und druckerfreundlich. Am schnellsten geht es in dem wir unserem ggplot-Objekt einfach ein theme_bw() hinzufügen (g ...

  • Ersetzen in regelmäßigen Abständen, bzw. nach einem Schema

    Vielleicht hat dieses Codebeispiel keine große Praxisrelevanz, aber dennoch stolpert man vielleicht mal über die Aufgabe. Hier also ein fiktives Beispiel: Es liegt eine sehr einfache Reihe an Messdaten vor, von denen wir wissen, dass sie nur Werktags erhoben wurden. In Wochentagen sähe es also so a ...

  • Tipp: nicht-destruktives Arbeiten mit par()

    Ein kleiner Tipp, wenn man mal doch mit der in R eingebauten Grafikumgebung arbeiten will und nicht mit ggplot. Hat man mal ein längeres R-Skript und erzeugt darin verschiedene Grafiken, kommt es häufig vor, dass man für einige bestimmte Einstellungen in par() ändern möchte. Insbesondere vermutlich ...

  • 06.2012
  • ggplot2 - ein umfangreiches Beispiel

    Das Einführungsbeispiel war ja in Punkto Datenumfang sehr bescheiden. Seine stärke spielt ggplot2 vor allem bei großen Datensätzen mit vielen Merkmalen aus. Insbesondere, wenn man noch nicht weiß wo es hingehen soll. Einen Datensatz entdecken Aus der Umweltprobenbank habe ich mir mal diesen Datens ...

  • ggplot - eine Einführung

    Wie funktioniert das mit ggplot? Ich schwärme ja oft von diesem tollen Packet, wie vermutlich fast jeder, der ggplot (genauer ggplot2) kennen und nutzen gelernt hat. Doch für Einsteiger ist die Struktur oft zuerst verwirrend und der Aufwand scheint nicht den Nutzen wert zu sein. Von dem Gegenteil mö ...

  • R: Berechnung in Variable speichern und gleichzeitig Ausgebe ...

    Wieder ein kleiner Trick für den R-Alltag. Häufig will man eine Berechnung durchführen, das Ergebnis in einer Variable speichern und auch das Ergebnis gleich mal sehen. Zum Beispiel ist es ja nicht schlecht bei der Anpassung eines (linearen) Modells gleich mal die geschätzten Parameter zu sehen, be ...

  • apply() hoch 3

    Nach dem Beitrag zu lapply() und sapply() möchte ich hier nun das etwas mächtigere (?) apply() vorstellen, was man in R wohl kaum missen will. Ich werde kurz zeigen wie mit apply() Matrizen und data.frames zeilen- sowie spaltenweise Ausgewertet werden können. Nach dieser sehr leichten Übung widme ...

  • Kleiner R-Helferling: example()

    Hui. Dass es diese Funktion gibt hätte ich ja nicht gedacht. Sicherlich seid ihr schon über die Beispiele in der R-Hilfe gestolpert und habt sie auch mal ausgeführt um zu gucken was passiert. Copy&Paste? Pah! Mit example() geht's auch schneller. Was kann man nochmal mit predict.glm() machen? Mit exa ...

  • Formeln in R (Teil 1)

    Formeln (formula) werden in R an vielen verschiedenen Stellen genutzt. Natürlich für die lineare (lm()) und logistische Regression (glm(type="logit")), aber auch für die Survivalanalyse und das Cox-Modell (library("survival"); coxph()) um nur einige Beispiele zu nennen. Zuerst der ganz allgemeine ...

  • 05.2012
  • Zeilen in einer Matrix verdoppeln.

    Hier ein kleiner Tipp aus dem R-Praxisleben. Beispiel: In einer Matrix (respektive data.frame) jede Zeile verdoppeln. daten ...

  • lapply() und sapply() - Der Einstieg in die apply-Funktionen ...

    Warum gerade lapply() und keine der gebräuchlicheren Funktionen apply Funktionen aus R? Ganz einfach: lapply() ist die Grundfunktion und die anderen Funktionen bauen auf dieser Funktionsweise auf. Da man lapply() nicht nur auf Vektoren, sondern auch auf Listen anwenden kann bietet es ungeahnte (vllt ...

  • 04.2012
  • Schnelleres R dank Kompilierung (also ohne apply())

    Inspiriert durch diesen Blogbeitrag wollte ich die Vorkompilierung selbst einmal ausprobieren und auch mit dem so hoch gelobten apply() vergleichen um mich von der Effektivität zu überzeugen. eingabe ...

  • Daten im R-Quelltext hinterlegen.

    Ok, dieses Beispiel wird man wohl selten gebrauchen, aber vielleicht mag es mal nützlich sein, wenn man jemandem ein wenig R-Code schicken will, der mit einem Datensatz arbeitet, ihr ihm aber nicht den kompletten Datensatz schicken wollt/könnt/dürft. Gleichzeitig sollte alles in einer Datei sein, da ...

  • Hübscher Quellcode mit Latex und Beamer

    Aus gegebenem Anlass mal ein kurzer Beitrag, wie man Quelltext hübsch in eine LaTeX-Präsentation mit der Beamer-Class einbaut. Anstelle der bekannten Verbatim-Umgebung wird hier auf das (auch für Berichte empfehlenswerte) Paket listings gesetzt. Einge recht gute und knappe Hilfe findet man bei w ...

  • Workflow für Simulationsstudien

    Eine häufige Aufgabe ist es, für verschiedene Parameter ein und die selbe Simulation mit R durchzuführen und dann die Ergebnisse auszuwerten. Persönlich bevorzuge ich es, erst alles zu simulieren und dann auszuwerten. Dieses Vorgehen hat mehrere Vorteile: Bei langandauernden Simulationen müssen dies ...

  • merge() - eine kleine Einleitung

    Es kann sein, dass man in die Situation kommt verschiedene Datensätze miteinander kombinieren zu wollen. In einer Tabelle steht vielleicht für verschiedene Lebensmittel die Energiewerte und Vitamingehalte und in einer anderen Tabelle steht wie viel von welchem Lebensmittel eine Person gegessen hat. ...

  • Geokoordinaten mit R und Google finden (einfach, ohne API)

    Dies ist eine verblüffend leichte Übung, da Google einem direkt ein csv-File (Beispiel) ausspuckt, welches natürlich sehr einfach zu lesen ist. Weil es so einfach ist hier nur wenig Text und der Code: reisetrip ...

  • aggregate() - Teil 2

    Teil 1 findet sich hier: aggregate() - der Anfang Der erste Teil lieferte ein einfaches Beispiel zur Nutzung der aggregate()-Funktion. Widmen wir uns nun einem etwas komplexeren Fall. Verschiedene Gruppen erzeugen Zunächst simulieren wir uns wieder einmal ein Datensatz mit ein paar Versuchsperson ...

  • Faltung der Hypergeometrischen Verteilung

    Die Faltung von Wahrscheinlichkeitsdichten ist nichts weiter als die Berechnung der Wahrscheinlichkeitsdichte der Summe von Zufallsvariablen, also z.B. die Dichte von $latex X_1+X_2$ oder auch $latex X_1+X_2+X_3$. Das heißt, wir interessieren uns im diskreten Fall für die Wahrscheinlichkeit $latex P ...

  • aggregate() - der Anfang

    Jetzt möchte ich nur kurz die mir sehr lieb gewonnene R-Funktion aggregate() vorstellen. Wer die Funktionen sapply(), apply(), lapply() usw. schon kennt und gerne nutzt, ist vermutlich auch schon ab und zu auf das Problem gestoßen, dass man evtl. auch über mehrere Zeilen hinweg eine Funktion anwende ...

  • Wiener Prozess

    Drei Methoden um mit R den Wiener Prozess zu simulieren: Normalverteilte Zuwächse set.seed(44147) T ...