Diese Gruppe ist für Alle, die sich in Kiel und Umgebung mit der Statistik-Programmiersprache R beschäftigen... weil ihr es könnt oder weil ihr es müsst. Bücher, Text-Websites, Onlineforen und Videotutorials über R gibt es reichlich. Wenn ihr eure Begeisterung oder euren Frust über R zur Abwechslung mal im Real Life teilen wollt, ist dies der richtige Rahmen für euch Kieler R-er:innen - also für alle Kielerinnen und Kieler, die sich mit R beschäftigen.
Ihr könnt die Gruppe über unseren Matrix-Space https://matrix.to/#/#rkiel:matrix.org erreichen, unseren BlueSkey-Kanal rkiel.bsky.social oder per E-Mail info@rkiel.de.
Außerdem machen wir erste Gehversuche mit eigener OpenSource-Entwicklung unter https://gitlab.com/RKiel.
Eine lokale Gruppe braucht Räume, um sich zu treffen. Das Kieler Innovations- und Technologiezentrum KITZ unterstützt uns, indem wir seine Besprechungsräume nutzen dürfen.
Ihr findet das KITZ online unter https://www.kitz-kiel.de/.
Vielen Dank, KITZ!
von Claus H. Godbersen, Version 0.2.0 vom 06. September 2025
Brauchen wir wirklich noch ein R-Buch? Ich meine: Ja. Zumindest brauche ich noch eines, und zwar genau dieses. Mein einziges Problem mit R ist die Dokumentation, die ich umfangreich aber schwer zugänglich finde. Die in R direkt verfügbaren Hilfetexte (vergleichbar mit der Windows-Hilfe oder den man-pages von Linux) ist zwar immer zu Hand, aber für Einsteiger oft zu abstrakt, kompakt und technisch. Auch ich als fortgeschrittener Nutzer, der R unsystematisch gelernt hat, merke immer wieder, dass Lücken im Grundlagenwissen mich daran hindern, die R-Hilfetexte effektiv zu nutzen. Deshalb versuche ich hier, das R-Buch zu schreiben, dass mir als Lern- und Nachschlagewerk fehlt. Falls es auch ein paar Anderen hilft - umso besser.
Wenn mir dieses Buch gelingt, wird es folgendes leisten: Es wird euch in die Lage versetzen, schnell in R einzusteigen und Ergebnisse zu erzielen. Dabei soll es aber gleichzeitig den Grundstein für ein tiefes Verständnis des Aufbaus und der Funktionsweise von R legen. Tiefes Verständnis ist wichtig; denn Nutzer, die jetzt schon wissen oder später merken, dass sie richtige R-Experten werden wollen, müssen mit einem komplexen System klarkommen, dass oft nicht wie ein geordnetes Haus, sondern eher wie ein Urwald anmutet.
Wer anfängt, R zu lernen, wird diese Programmiersprache wahrscheinlich falsch einschätzen - entweder als besonders einfach, oder als besonders schwer. Beide Eindrücke treffen auf einige Aspekte von R zu, sind als Gesamturteil aber ungeeignet.
Wenn du noch nichts oder nur sehr wenig über R weißt, stellst du dir vielleicht die Frage, ob R zu lernen überhaupt eine sinnvolle Verwendung deiner Zeit ist. Berechtigte Frage; denn einen einmal verbrauchten Moment deines Lebens bekommst du nicht zurück. Kein Rückgaberecht, auch nicht bei Fernabsatzverträgen. Ich will versuchen, dich bei dieser Entscheidung zu beraten:
R zu lernen ist aus meiner Sicht dann sinnvoll, wenn du als betrieblicher Datenanalyst oder empirische Wissenschaftlerin arbeitest oder wenn du privat relativ komplizierte Sachen mit relativ vielen Daten machen willst, wie zum Beispiel eine Dokumentation und Analyse deiner Einnahmen und Ausgaben. Für solche Dinge ist R hervorragend. Falls du schon Python (eine andere Programmiersprache) kennst und Erfahrung mit Python-Paketen wie Pandas und NumPy gemacht hast, brauchst du vermutlich kein R mehr, da Python die Aufgaben von R ähnlich gut erledigen kann.
Abgesehen davon, dass dieses Buch gerade erst anfängt... Meine Absicht ist, das Buch so aufzubauen, wie meiner Meinung nach ein systematischer R-Kurs "From Zero to Hero" aussehen sollte. Wenn du R mit wenig bis gar keinen Vorkenntnissen lernen willst, solltest du es von Anfang an Absatz für Absatz durchlesen. Irgendwann baue ich auch mal ein interaktives Inhaltsverzeichnis, so dass sich das Buch auch besser als Nachschlagewerk für Fortgeschrittene eignet. Grundsätzliche verfolge ich das Prinzip: von der Anwendung zur Theorie, und über die Theorie zu besserer Anwendung, und so weiter.
Ein paar Kenntnisse setzte ich aber schon voraus. Grundlegende Computerkenntnisse musst du haben. Du musst zum Beispiel wissen, was Hardware und Software ist, was ein Betriebssystem und was Desktopsoftware. Du musst in der Lage sein, einfache Software-Installation auf deinem Computer selbst zu erledigen. Oder, falls du im Firmenkontext unterwegs bist, musst du deine Kolleginnen aus der IT-Administration fragen, ob sie dir benötigte Software installieren (können/dürfen/wollen). Außerdem solltest du über solide Englisch-Grundkenntnisse verfügen, weil ich oft auf englischsprachige Quellen verweisen werde. Englisch hat seit der Mitte des 20. Jahrhunderts für Wissenschaft und insbesondere Computerwissenschaft die Bedeutung, die früher Latein hatte: die Lingua Franca zur weltweiten Verständigung.
Und was wäre das 21. Jahrhundert ohne einen Absatz zur gendergerechten Sprache. (Sarkasmus? Wer weiß...) Ich bin ein glühender Verfechter von Gleichberechtigung. Ganz egal wie Erwachsene sich kleiden, wie ihre Geschlechtsorgane aussehen oder mit wem sie einvernehmlich Sex haben - Alle sollten eine echte Chance (und nicht nur eine) haben, sich zu entfalten und glückliche, produktive Mitglieder der Gesellschaft zu sein. Aber lieber arbeite ich als persönlicher Assistent von Prostetnic Vogon Jeltz (Adams 2002, Seite 30f.), als dass ich in einen Text, den ich in meiner Freizeit schreibe, lesefeindliche Schrägstriche, Unterstriche, mitten-im-Wort-Großbuchstaben, Doppelpunkte oder Sterne einbaue, die auch noch den letzten Spießbürger darauf hinweisen sollen, dass es in dieser Welt nicht nur weiße Männer gibt. Ich wechsele stattdessen unsystematisch zwischen weiblichen und männlichen Formen und hoffe, dass du damit einigermaßen leben kannst.
R ist Desktopsoftware, die vor der Benutzung auf einem Computer installiert werden muss (wie z.B. ein klassisches Textverarbeitungsprogramm, Webbrowser oder ein Computerspiel). Die Installationsdateien für Linux, Windows und MacOS bekommst du unter https://posit.co/download/rstudio-desktop/ In diesem Fall installierst du die Entwicklungsumgebung RStudio und die eigentliche Programmiersprache R gleich mit. Falls du den Unterschied zwischen Entwicklungsumgebung und Programmiersprache noch nicht verstehst, mach es einfach. Diese Details erkläre ich dir später. Falls du die Unterschiede verstehst und dir einfach nur R ohne Entwicklungsumgebung installieren willst, findest du die Dateien und Anweisungen dazu unter https://cran.r-project.org/
Um schnell mit R produktiv zu werden, ist es sinnvoll, sich zunächst etwas mit RStudio vertraut zu machen. RStudio ist eine sogenannte "Entwicklungsumgebung" für R, die von der Firma Posit (https://posit.co/) als OpenSource-Produkt kostenlos zur Verfügung gestellt wird. Eine Entwicklungsumgebung für eine Programmiersprache ist ein bisschen wie ein Textverarbeitungsprogramm für normale Sprache. So sind zum Beispiel Microsoft Word und LibreOffice Writer Programme, die es Nutzern erleichtern sollen, Briefe, Berichte oder Kurzgeschichten zu schreiben, indem sie zum Beispiel automatisch bestimmte Abstände zwischen Absätzen einfügen oder Überschriften farbliche hervorheben. Genau so hilft RStudio dir mit bestimmten Funktionen, R- Programme zu schreiben. Du brauchst RStudio nicht, aber es hilft. Für den Anfang - vor allem falls du noch gar keine Programmiererfahrung, auch nicht in einer anderen Programiersprache, hast, solltest du RStudio benutzen.
Hier siehst du ein Bild von RStudio in fast leerem Zustand:
Falls du nicht alle vier Fenster siehst, fehlt die vermutlich das Fenster oben links, das hier "Untitled1" heißt. In dem Fall musst du erst ins Dateimenü gehen und ein neues R-Skript öffnen. Dann hast du oben links den Editor, wo du deine Programme schreibst. Unten links siehst du die Konsole, wo das Ergebnis deiner Programme angezeigt wird. Auch Fehlermeldungen werden hier angezeigt. VOR ALLEM Fehlermeldungen! Du wirst viel mit Fehlermeldungen zu tun haben, weil du beim Entwickeln deiner R-Programme viele Fehler machen wirst. Gewöhn dich dran; das ist normal.
Die beiden Fenster auf der rechten Seite kannst du erstmal ignorieren.
Ich erkläre dir nun, wie du dein erstes, einfaches R-Programm schreibst. Du kannst stattdessen aber auch die sehr einsteigerfreundliche Einführung auf W3Schools machen: https://www.w3schools.com/r/
Du kannst R schlicht als Taschenrechner benutzen, indem du im Editor
1 + 1
eingibst. Du musst dann, wenn der Cursor noch in der selben Zeile ist, entweder die Tastenkombination Strg + Enter drücken oder oben rechts von Editor-Fenster auf "Run" (deutsch: "Ausführen") klicken. R führt dann die Operation 1 + 1 aus und zeigt das Ergebnis 2 im Konsolenfenster an. So kannst du es mit allen Grundrechenarten und auch mit komplexeren Ausdrücken machen. Wenn du zum Beispiel
2*1 + 1
eingibst und diese Zeile ausführst, kommt nach der Regel "Punktrechnung vor Strichrechnung" 3 heraus.
Auch die aus der Schulmathematik bekannten Klammervorschriften berücksichtigt R. So ergibt die Codezeile
2*(1 + 1)
erwartungsgemäß 4.
Eine Potenz auszurechnen ist mit dem Operator ^ möglich. Das ist die Taste links neben der 1, die du zweimal drücken musst.
3^2
ergibt 9.
Eine weniger verbreitete aber in der Programmierung manchmal relevante Operation ist die Rest-Division, auch Modulo genannt. Sie gibt an, welcher Rest sich bei einer ganzzahligen Division ergibt. In R gibt es dafür als Operator das doppelte Prozentzeichen %%. Die Codezeilen
15%%4
ergibt deshalb 3, da 15 geteilt durch 4 einen Rest von 3 ergibt (15 / 4 = 3 Rest 3).
Hier eine Übersicht aller arithmetischen Operatoren, die man in R so anwenden kann, wie man es auch auf einem klassischen Taschenrechner oder auf Papier machen kann:
| Operator | Bedeutung |
|---|---|
| + | Addition |
| - | Subtraktion |
| * | Multiplikation |
| / | Division |
| ^ | Potenz |
| %% | Rest einer ganzzahligen Division (Modulo) |
| %/% | ganzzahlige Division ohne den Rest |
R kann als Taschenrechner nützlich sein, wenn man keinen physischen Taschenrechner oder kein Smartphone griffbereit und auch nicht sowieso schon Excel geöffnet hat. Aber du willst ja Programme schreiben, und ein paar arithmtische Operationen, die man nicht im Kopf hinbekommt, sind noch kein Programm. Ein Programm ist wortwörtlich eine Vorschrift. Eine Vorschrift regelt keine Einzelfälle, sondern alle Fälle einer bestimmten Art. Eine Verkehrsvorschrift besagt beispielsweise nicht, dass du in einem bestimmten Moment mit deinem Auto nur soundso schnell fahren darfst, sondern dass du immer nur so schnell fahren darfst, wie die runden Schilder mit dem roten Rand anzeigen. Und 2 + 2 = 4 ist keine mathematische Vorschrift. Eine mathematische Vorschrift besagt zum Beispiel, dass x + x = 2x immer gilt.
An den "x"en im letzten Satz erkennst du vielleicht schon, wo die Reise hingeht. Du brauchst Variablen, wie sie im Mittelstufe-Matheunterricht eingeführt wurden. Mit Hilfe von Variablen sagst du R Dinge wie: "Hier hast du eine Variable x. Egal welchen Wert x hat - ich will, dass du es immer verdoppelst". Das würde in R so aussehen:
x <- NULL
2*x
Als Ergebnis würde "numeric(0)" herauskommen. Damit will R dir in etwa sagen: "Unter den richtigen Bedingungen hätte ich jetzt eine Zahl als Ergebnis für dich."
Das führt uns gleich zu einigen nützlichen Informationen über Variablen in R:
Eine einfache Variable mit dem NULL-Wert zu deklarieren, ist übrigens in R nicht nötig. Du kannst die Variable sofort mit dem Wert belegen, den du benötigst. Es kann aber sinnvoll sein, eine solche NULL-Variable zu deklarieren. Wenn du zum Beispiel ein großes Programm schreibst, kannst du im Interesse der Übersichtlichkeit an einer Stelle weit oben im Programmcode gleich alle Variablen anlegen, die später gebraucht werden.
Jetzt soll dein erstes R-Programm aber auch etwas Sinnvolles tun. Wie wäre es mit einem Klassiker: der Berechnung von Zinseszins? Dafür musst du ein paar Variablen anlegen: den angelegten Geldbetrag, den Zinssatz und Anzahl der Zeitperioden, in denen die Anlage verzinst wird.
In diesem Abschnitt spreche ich einige Warnungen vor Fehlern aus, die man mit R leicht machen kann. Diese Fehler haben alle gemeinsam, dass ihre Ursache in dem sprichwörtlichen gefährlichem Halbwissen liegt. "Ich habe die Dokumentation zu dieser Funktion, die ich benutze, überflogen - aber ich verstehe sie nicht wirklich." könnte ein typischer Satz sein, der solchen Fehlern vorausgeht.
Mit der merge-Funktion von Basis-R kann man zwei Dataframes anhand von Spalten mit gemeinsamen Werten zusammenbringen. Ich nutze diese Funktion, um codierte Tabellen mit Schlüsseltabellen zusammenzubringen. Zum Beispiel: Gehen wir von einer Tabelle aller Studentinnen einer Universität aus. In dieser Tabelle sei der Studiengang jeder Studentin als Zahl hinterlegt. 1 für Agrarwissenschaft, 2 für Betriebswirtschaft, 3 für Chemie und so weiter bis 99 für Zahnmedizin. Nun habe ich noch eine Schlüsseltabelle, in der lediglich alle Zahlen von 1 bis 99 und die jeweils korrespondierende Studiengangs-Bezeichnung stehen. Diese beiden Tabellen bringe ich per merge zusammen.
Ich habe es schon erlebt, dass nach so einer merge-Operation meine Daten plötzlich viel weniger Datensätze hatten als vorher. Anders gesagt: Eine Menge Zeilen waren verschwunden. Dies lag nach meinem bisherigen Kenntnisstand daran, dass die merge-Funktion ohne richtige Angabe der richtigen Parameter Zeilen verschwinden lässt, wenn sie Werte aus den Vergleichsspalten nicht in beiden Tabellen findet.
Vorsicht also beim Mergen!
| Version | Datum | Änderung |
|---|---|---|
| 0.2.0 | 06.09.2025 | Neues Kapitel "Warnungen" angefangen |