12  KI-Unterstützung in R

Die rapide Entwicklung von KI-Assistenten hat die Art und Weise, wie Code geschrieben wird, grundlegend verändert. Große Sprachmodelle wie ChatGPT oder Claude können R-Code generieren, erklären und debuggen - und das oft mit beeindruckender Qualität. Es stellt sich daher die berechtigte Frage, warum es überhaupt noch notwendig ist, R selbst zu erlernen.

Die Antwort liegt in der Natur von KI-generierten Lösungen: KI-Assistenten produzieren plausibler klingenden Code, der jedoch nicht immer korrekt ist. Ohne ein grundlegendes Verständnis von R-Syntax, Datenstrukturen und den verwendeten Packages ist es schwer möglich, Fehler im generierten Code zu erkennen, Ergebnisse kritisch zu hinterfragen oder KI-Vorschläge sinnvoll an die eigene Problemstellung anzupassen. KI ist daher am nützlichsten als Werkzeug für jene, die bereits über solide Grundkenntnisse verfügen - sie beschleunigt und unterstützt die Arbeit, ersetzt aber kein eigenes Verständnis. Die in diesem Kurs erlernten Grundlagen sind damit nicht weniger relevant geworden, sondern die Voraussetzung dafür, KI-Assistenten effektiv und kritisch einzusetzen.

12.1 Datenschutz und verantwortungsvoller Umgang

Der Einsatz von KI-Assistenten in der Datenanalyse wirft wichtige Datenschutzfragen auf, die vor allem im wissenschaftlichen und professionellen Kontext nicht ignoriert werden dürfen. Bei der Nutzung von chat-basierten Assistenten wie ChatGPT oder Claude über den Browser werden alle eingegebenen Inhalte — also auch Code und Daten — an die Server der jeweiligen Anbieter übertragen und dort verarbeitet. Je nach Anbieter und gewähltem Tarif können diese Eingaben zudem für das weitere Training der Modelle verwendet werden.

Das bedeutet konkret: Datensätze mit personenbezogenen oder anderweitig sensiblen Daten sollten niemals direkt in einen chat-basierten KI-Assistenten eingefügt werden. Das betrifft etwa Umfragedaten mit identifizierbaren Personen, Unternehmensdaten unter Geheimhaltungspflicht, Gesundheits- oder Einkommensdaten sowie alle Daten, die unter die DSGVO oder andere Datenschutzregelungen fallen. Ein versehentliches Einfügen von Rohdaten in ein Chat-Fenster kann dabei nicht rückgängig gemacht werden.

Für die praktische Arbeit empfehlen sich folgende Vorsichtsmaßnahmen:

  • Nur Struktur, keine Daten teilen: Statt echte Daten einzufügen, reicht es in den meisten Fällen, die Struktur des Datensatzes zu beschreiben (Variablen und Variablentyp).

  • Synthetische Beispieldaten verwenden: Für Code-Fragen können Beispieldaten erstellt werden, die dieselbe Struktur wie die echten Daten haben, aber keine realen Werte enthalten:

# Synthetischer Beispieldatensatz mit gleicher Struktur
beispiel <- tibble(
  id     = 1:5,
  alter  = c(34, 45, 28, 52, 39),
  gruppe = c("A", "B", "A", "B", "A")
)
  • Unternehmens- und Hochschulrichtlinien beachten: Viele Unternehmen und Forschungseinrichtungen haben eigene Richtlinien zum Einsatz von KI-Tools. Im Zweifel immer vorab klären, welche Tools für welche Daten zugelassen sind.
  • API-Nutzung und Datenschutzeinstellungen prüfen: Bei der Nutzung über die API (etwa über das chattr-Package) gelten gesonderte Datenschutzbestimmungen, die sich von den Browser-Versionen unterscheiden können. Anthropic und OpenAI bieten etwa für API-Nutzer standardmäßig an, Eingaben nicht für das Modelltraining zu verwenden — die genauen Bedingungen sollten jedoch immer in den aktuellen Nutzungsbedingungen nachgelesen werden.
WarnungSensible Daten und KI-Tools

Die Nutzung von KI-Assistenten mit sensiblen Daten kann nicht nur datenschutzrechtliche Konsequenzen haben, sondern auch gegen Forschungsethik-Richtlinien oder Vertraulichkeitsvereinbarungen verstoßen.

12.2 Chat-basierte KI-Assistenten

Die einfachste Möglichkeit, KI für die R-Programmierung zu nutzen, sind chat-basierte Assistenten, die über den Browser zugänglich sind. Die bekanntesten sind ChatGPT (OpenAI, chatgpt.com) und Claude (Anthropic, claude.ai). Für Coding-Aufgaben ist Claude derzeit die empfehlenswertere Wahl: Das Modell produziert in der Regel saubereren, besser kommentierten Code, hält sich enger an tidyverse-Konventionen und gibt häufiger explizite Hinweise, wenn eine Anfrage zu unspezifisch ist oder mehrere Lösungsansätze möglich sind. Beide Assistenten sind in einer kostenlosen Basisversion verfügbar, die für vielen Coding-Aufgaben ausreichend ist.

Zu den US-amerikanischen KI-Unternehmen kann Mistral (mistral.ai) eine interessante Alternative sein. Mistral ist ein französisches KI-Unternehmen, dessen Modelle auf europäischen Servern betrieben werden und damit der DSGVO unterliegen — ein relevanter Vorteil gegenüber US-amerikanischen Anbietern, wenn datenschutzrechtliche Anforderungen eine Rolle spielen. Über le Chat steht eine kostenlose Chat-Oberfläche zur Verfügung. Die Coding-Qualität von Mistral ist kompetitiv mit ChatGPT und Claude.

Für Fernuni-Studierende haben über KI:connect.nrw Zugang zu fortgeschritteneren Modellen von OpenAI, Llama und Mistral. Der Log-In läuft dabei über die Single-Sign-On-Seite der Fernuni. Für mehr Informationen, siehe hier.

Ein paar Hinweise für die effektive Nutzung von Chat-Assistenten für R:

  • Kontext mitliefern: Je mehr Informationen über den Datensatz, die verwendeten Packages und das gewünschte Ergebnis angegeben werden, desto präziser ist die Antwort. Fehlermeldungen immer vollständig kopieren.
  • Iterativ arbeiten: KI-Assistenten liefern selten auf Anhieb die perfekte Lösung. Nachfragen, Korrekturen einfordern und Lösungen schrittweise verfeinern ist normal und oft effizienter als eine sehr lange initiale Anfrage.
  • Code verstehen, nicht nur kopieren: Generierten Code immer verstehen, bevor er verwendet wird — insbesondere bei Datenaufbereitungen und statistischen Analysen, wo stille Fehler schwer zu erkennen sind.
  • Auf Halluzinationen achten: KI-Assistenten erfinden gelegentlich Funktionen oder Argumente, die nicht existieren. Im Zweifel die Dokumentation (?funktion) oder CRAN konsultieren.
TippKI effektiv prompten für R-Aufgaben

Die Qualität von KI-generierten R-Code hängt stark von der Qualität der Anfrage ab. Ein guter Prompt für R-Coding-Aufgaben enthält typischerweise: das Ziel in einem Satz, eine kurze Beschreibung des Datensatzes (Variablennamen, Typen), die verwendeten Packages (z.B. tidyverse), und — bei Fehlern — die vollständige Fehlermeldung. Beispiel:

“Ich verwende tidyverse in R. Mein Datensatz wage1 hat die Variablen wage (numerisch) und female (0/1). Ich möchte einen Boxplot von wage nach female erstellen und die x-Achse mit ‘Männer’/‘Frauen’ beschriften. Hier ist mein bisheriger Code: [Code einfügen]”

12.3 GitHub Copilot in RStudio

GitHub Copilot ist ein KI-Assistent, der direkt in die Entwicklungsumgebung integriert ist und Code-Vorschläge in Echtzeit macht — während des Tippens, nicht erst nach einer expliziten Anfrage. Copilot analysiert den bereits geschriebenen Code und Kommentare und schlägt automatisch sinnvolle Fortsetzungen vor, die mit der Tab-Taste übernommen werden können.

Seit RStudio Version 2023.09 ist GitHub Copilot direkt in RStudio integriert und kann über Tools → Global Options → Copilot aktiviert werden. Voraussetzung ist ein GitHub-Account mit aktiviertem Copilot-Abonnement (kostenpflichtig, mit kostenlosem Kontingent für Studierende über GitHub Education). Für weitere Informationen, siehe den RStudio User Guide.

12.4 Das chattr-Package

Das Package chattr ermöglicht die direkte Integration von KI-Assistenten in RStudio, ohne den Browser öffnen zu müssen. Es unterstützt verschiedene Modelle, darunter OpenAI (ChatGPT) und Anthropic (Claude), und kann sowohl als RStudio-Addin als auch direkt in der Konsole verwendet werden:

install.packages("chattr")
library(chattr)

# Interaktive Chat-Oberfläche in RStudio öffnen
chattr_app()

# Direkte Anfrage in der Konsole
chattr("Schreib mir einen ggplot-Code für ein Histogramm der Variable wage")

Vor der ersten Verwendung muss ein API-Key für das gewünschte Modell hinterlegt werden. Eine Schritt-für-Schritt-Anleitung dazu findet sich in der chattr-Dokumentation.