RKiel
banner
rkiel.bsky.social
RKiel
@rkiel.bsky.social
Wir sind eine Gruppe in Kiel (organisiert von Claus H. Godbersen, https://rkiel.de), um Lust und Frust über R zu teilen und gemeinsam Lösungen zu finden. In diesem Kanal gibt es Posts zu R, unserer Gruppe, empirischer Wissenschaft allgemein und OpenSource.
Gerade wieder gelesen, dass es auch den selten benötigten Operator <<- gibt, um aus Funktionen heraus ohne Nutzung des Rückgabewertes eine globale Variable zu verändern.

Nicht wirklich gute Praxis, aber manchmal ein willkommener Strohhalm.
January 13, 2026 at 7:47 PM
Weiß jemand, ob es einen Fachbegriff für die Funktionen gibt, die man durch Functionals wie apply aufruft?

Also in apply(X = df, MARGIN = 2, FUN = mean) wäre es mean, was ich meine.
January 10, 2026 at 4:33 PM
Frohes neues Jahr mit ganz viel R-folg!
January 1, 2026 at 8:53 AM
RKiel Adventskalender - Türchen 24:

Weihnachtsbaum für R:

plot(c(0:15), c(0:15), col = "white")
polygon(x = c(7,2,5.5,3,6,4,7,10,8,11,8.5,12), y = c(1,1,3,3,5,5,7,5,5, 3,3,1), col = "darkgreen")
points(x = c(4,10,7,5,8,6,7), y = c(2,1.5,3,3.5,4.5,5.5,6), pch = 16, cex = 2, col = "darkred")
December 24, 2025 at 3:32 PM
RKiel Adventskalender - Türchen 23:

Geschweifte Klammern kann man oft weglassen.

Anstatt
if (1 < 2) { print("so isses")}

funktioniert auch
if (1 < 2 ) print("so isses")

Ob das aber eine gute Idee ist, steht auf einem ganz anderne Blatt.
Ich denke: Nein.
December 23, 2025 at 10:36 PM
RKiel Adventskalender - Türchen 22:

Mit

cat("\14")

kann man den gesamten Inhalt des Konsolenfensters löschen.
Richtig am Anfang eines Schleifenblocks eingesetzt kann man so die Ausgabe sauber halten, um bei länger laufenden Programmen Nutzern anzuzeigen, wie weit das Programm schon ist.
December 22, 2025 at 10:31 PM
RKiel Adventskalender - Türchen 21:

Mit den Funktionen
"message",
"warning" und
"stop"
kann man Nutzern der eigenen Programme etwas deutlicher oder zielgerichteter Rückmeldung geben als durch Standard-Fehlermeldungen oder ein generisches print().
December 21, 2025 at 5:51 PM
RKiel Adventskalender - Türchen 20:

Es gibt viele Wege, wie man R-Ergebnisse per Web zur Verfügung stellen kann - nicht nur das schwergewichtige Shiny.
Ein Weg ist das Paket "plumber", das mit wenig Code aus R-Funktionen Web-APIs macht.
Dazu muss man sich natürlich ins Thema APIs einarbeiten.
December 20, 2025 at 10:58 PM
RKiel Adventskalender - Türchen 19:

Fun Fact:
Division durch Null ergibt in R keinen Fehler, sondern undendlich (Inf) .
December 19, 2025 at 11:26 PM
RKiel Adventskalender - Türchen 18:

Um für ein R-Programm eine grafische Oberfläche zu bauen, steht neben Shiny auch das gute alte Desktop-Grafikpaket Tk zur Verfügung:

library(tcltk)

Eine Einführung gibt's hier:
www.stat.berkeley.edu/~spector/s24...
Graphical User Interfaces
www.stat.berkeley.edu
December 18, 2025 at 8:53 PM
RKiel Adventskalender - Türchen 17:

Mit der Funktion "unclass" lässt sich - ratet mal - die Klasse von einem Objekt entfernen. unclass(df) macht zum Beispiel aus dem Dataframe df wieder eine gewöhnliche Liste.
December 17, 2025 at 9:20 PM
RKiel Adventskalender - Türchen 16:

Mit der Funktion "menu" lassen sich Multiple-Choice-Fragen aufrufen. Richtig mit einer Liste aus Fragen und Antwortmöglichkeiten sowie einem Export verbunden kann man so in R einen Fragebogenbogen erstellen und ihn auch von Probanden ausfüllen lassen.
December 16, 2025 at 8:33 PM
RKiel Adventskalender - Türchen 15:

Mit dem Paket "clipr" kann man sehr bequem Inhalte aus der System-Zwischenablage holen oder dahin senden:

clipr::read_clip und clipr::write_clip sind die entsprechenden Funktionen.
December 15, 2025 at 5:59 PM
RKiel Adventskalender - Türchen 14:

Wenn ein Plot aktiv ist, kann man die Funktion "locator" nutzen, um die x-y-Koordinaten von Mausklicks im Plot abzufragen.
Locator läuft bis zu einem bestimmten Maximum an Klicks oder bis sie z.B. mit der Escape-Taste unterbrochen wird.

Wozu das? Egal - cool!
December 14, 2025 at 11:22 PM
RKiel Adventskalender - Türchen 13:

Mit "sub" kann man in R suchen und ersetzen.
Achtung: Die Funktion sucht auch nach Mustern. Deshalb ist es bei manchen Zeichen nötig, sie zu Escapen.
In Währungsdaten den englischen Punkt durch ein deutsches Komma zu ersetzen, geht z.B. so:
sub("\\.", ",", 3.45)
December 13, 2025 at 11:05 PM
RKiel Adventskalender - Türchen 12:

Mit "any" kann man prüfen, ob mindestens ein Wert in einer Reihe eine Bedingung erfüllt. Die Funktion gibt einen einzigen Wahrheitswert zurück; ist also schön übersichtlich, wenn mehr Information nicht gebraucht wird.

any( c(1,sehr 2, 3, 4, 5) > 3 ) ergibt TRUE.
December 12, 2025 at 11:05 PM
RKiel Adventskalender - Türchen 11:

Wer Hash-Werte (z.B. für Passwörter) braucht, kann sie mit dem digest-Paket erstellen.

Beispiel:
digest::digest("statistik") ergibt "72a6f6b2ee18765b38d4fcc6cc02ba71" .

Achtung: Default ist der meines Wissens für Sicherheitszwecke veraltete MD5-Algorithmus.
December 11, 2025 at 9:49 PM
RKiel Adventskalender - Türchen 10:

Mit Hilfe von RSQLite (im Paket DBI mit enthalten) kann man durch reinen R-Code ohne zusätzliche Software eine SQLite-Datenbank erstellen, bearbeiten und abfragen.

So lassen sich in einem Projekt die Stärken von R und SQL kombinieren.
December 10, 2025 at 9:20 PM
RKiel Adventskalender - Türchen 9:

In RStudio gibt es die Multicursor-Funktion: Mit Strg+Alt gedrückt kann man Cursor an verschiedenen Stellen setzen und so eine Tastatureingabe an mehreren Stellen im Code gleichzeitig durchführen.

Praktisch um z.B. lange Datensatzbeschreibungen zu bearbeiten.
December 9, 2025 at 11:02 PM
RKiel Adventskalender - Türchen 8:

Mit file.choose lässt sich aus einem R-Programm heraus ein Dateiauswahl-Dialog anzeigen.

So kann gerade bei Programmen, die nicht nur vom Autor selbst genutzt werden, die oft so problematische Pfadangabe zur einzulesenden Datei gespart werden.
December 8, 2025 at 10:25 PM
RKiel Adventskalender - Türchen 7:

Hier eine einfache Karte zum Thema Weihnachten, die ich mit Hilfe der Pakete ggplot2 und sf und einem Shapefile von Deutschland erstellt habe.

Quellen:

bvwe.de/landesverbae...

gdz.bkg.bund.de/index.php/de...
December 7, 2025 at 7:16 PM
RKiel Adventskalender - Türchen 6:

Mit der Funktion

source

könnt ihr aus einem R-Skript A ein anderes R-Skript B aufrufen und ausführen - sehr hilfreich, um bei größeren Projekten den Überblick zu behalten oder Entwicklungsarbeit aufzuteilen.
December 6, 2025 at 9:45 PM
RKiel Adventskalender - Türchen 5:

Wenn ihr etwas komplexere Funktionen über eine Reihe etwas komplexerer Objekte laufen lassen wollt und es mit apply nicht schafft,
probiert es mal mit

do.call *

* Dies ist kein Link.
December 5, 2025 at 10:17 PM
RKiel Adventskalender - Türchen 4:

Die Umgebungsvariablen eures Systems könnt ihr in R mit

Sys.getenv()

abrufen.

Zum Beispiel findet ihr in der langen Liste der Umgebungsvariablen euer Verzeichnis "R_HOME".
December 4, 2025 at 9:34 PM
RKiel Adventskalender - Türchen 3:

Um Reihen von Texten nach Elementen zu durchsuchen, die mit einer bestimmten Buchstabenkombination anfangen, hat auch R eine Standardfunktion:

startsWith
December 3, 2025 at 11:13 PM