7  Arbeit mit R

7.1 Hilfreiche Ressourcen zum Arbeiten mit R

Für Beginnende:

Den Einstieg in die Arbeit mit R erleichtern die folgenden Ressourcen, besonders die Tutorials von Mitarbeitenden der Freien Universität Amsterdam und die Videos von Andy Field.

  • R-Tutorials von Mitarbeitenden der Freien Universität Amsterdam: Die Tutorials bestehen aus Videos und Handouts. Falls Diskrepanzen zwischen beiden auftreten, soll eher dem Inhalt der Handouts als dem der Videos gefolgt werden, da letztere älter sind. Zusätzlich wird auch auf Kapitel von zwei kostenlosen und frei verfügbaren Büchern Computational Analysis of Communication [CAC] und R for Data Science [R4DS] verweisen.
Let’s take a look:
  1. R Basics: commands, objects, and functions mit Handout: Kennenlernen der Arbeitsumgebung und einfacher Befehle, Einführung des Begriffs “Objekt” als gelabelte Information und Ausprobieren von Funktionen.

  2. R Tidyverse: Data transformation mit Handout: Vorstellung von Tidyverse, einer Sammlung von Open-Source Paketen und dessen grundlegenden Funktionen, wie Datenimport, Datenbereinigung und Datenumwandlung.

  3. R Tidyverse: Data summarization mit Handout: Arbeiten mit Tidyverse, besonderer Fokus auf der Datenzusammenfassung und -aggregation.

  4. R ggplot2: Basics of data visualization mit Handout: Verwendung der ggplot-Funktion zur Erstellung von Grafiken, wie z. B. Scatterplots, Säulen- und Liniendiagrammen.

  • Videos von Andy Field: Erklärungen von R, R Studio und Kennenlernen der Arbeitsumgebung

  • Übersicht von Garrett Grolemund: Verschriftlichte Einführung

  • RStudio-Cheatsheet: Übersicht über Funktionen und Pakete

Für etwas Fortgeschrittenere:

7.2 KI-Unterstützung bei der Arbeit mit R

7.2.1 Warum ist es sinnvoll, KI-Tools in die Arbeit mit R zu integrieren?

KI- Tools bieten Zeitersparnis, Einfachheit, Unterstützung beim Erlernen von Programmiersprachen und gute Hilfestellungen. Zudem haben sie eine Art Tutorenfunktion durch ihre Erklärungen von Sachverhalten oder Fehlermeldungen.

Achtung

Allgemeine Verwendungshinweise für alle KI-Tools:

  • gute Prompts verwenden

  • Instruktionen einfach und präzise halten

  • Keine personenbezogenen Daten verwenden (Verstoß gegen Datenschutz!)

  • Immer den Output überprüfen: KI macht Fehler und/oder erfindet Code!

Erste Schritte für die Praxis:

  1. Klar werden über eigene Fragestellung:
  • Was für eine Aufgabe möchte ich bearbeiten oder welches Problem möchte ich lösen?
  • Möchte ich Unterstützung beim Schreiben von Code durch integrierte Vorschläge oder durch Beantwortung meiner konkreten Fragen?
  1. Auswahl eines für die Fragestellung geeigneten KI–Tools:

    Das weitere Vorgehen variiert nach verwendetem Tool: siehe 7.2.2. Verschiedene KI-Tools im Überblick.

  2. bei integrierten KI-Tools wie Co-Pilot

  • Tool aktivieren und Vorschläge ausprobieren
  1. bei Tools wie ChatGPT / Hawki
  • Anfrage mit den richtigen Prompts beginnen: spezifisch, Kontext geben, klare Sprache
  • KI-Vorschläge überprüfen und ausprobieren

7.2.2 Verschiedene KI-Tools im Überblick: Einsatz von CoPilot, ChatGPT und Hawki

Das können die verschiedenen Tools:

7.2.3 GitHub Co-Pilot

Voraussetzungen:

  • GitHub Konto: Nutzung mit einem Studierendenkonto ist kostenlos

    1. Wechslen Sie zu GitHub Education
    2. Wählen Sie unter „Select your role in education“ die Option Student aus
    3. Giben Sie im Dialogfeld „Application“ den Namen der Bildungseinrichtung ein
    4. Wählen Sie bei Bedarf die E-Mail-Adresse aus, die für die Bildungseinrichtung verwendet wird, oder füge Sie diese hinzu
    5. Klicken Sie auf Weiter. Es folgt die Aufforderung einen Nachweis des akademischen Status hochzuladen, beispielsweise ein Bild des Stuudierendenausweis
    6. Überprüfen Sie die Details der Bewerbung und klicken Sie dann auf Meine Bewerbung bearbeiten
    7. Die Bearbeitungszeit beträgt einige Tage
  • R Version darf nicht älter als 2023.09.0 sein

  • Internetzugang

Zugriff über:

  • Co-Pilot Integration in eigener R Anwendung

Anwendung:

  • Auto-Vervollständigung

  • Code-Vorschläge

  • Beantwortung von Fragen

Achtung

Bei komplizierten Aufgaben stößt es an Grenzen.

7.2.3.1 Anwendungsbeispiel:

Sobald GitHub Co-Pilot installiert und aktiviert ist, stehen zwei Hauptanwendungen zur Verfügung: Erstens bietet dieser eine Autovervollständigung. Das bedeutet, dass während des Tippens Vorschläge in Form von grauem kursiv gedrucktem Text (sogenannter „grey ghost text“) angezeigt werden. Bei längeren und umfangreicheren Funktionen sind diese Vorschläge fehleranfällig, weshalb es sinnvoll ist, die Vorschläge in kleinen, überschaubaren Schritten erstellen zu lassen.

Zweitens kann der Co-Pilot einfache Fragen wie „Wie kann ich diesen Code verbessern?“ oder „Wie kann ich diesen Code testen?“ beantworten. Dies geschieht über die #q - Eingabe in der Konsole oder über ein Chat Feld im Ausgabebereich.

Der Fokus liegt jedoch auf der Generierung von Codevorschlägen für die Beantwortung von Fragen sind andere Tools wie ChatGPT oder Hawki meist besser geeignet.

Für beispielhafte Anwendungen und weitere Tipps, siehe die Copilot Guidelines

7.2.4 ChatGPT

Zugriff über:

  • Website von OpenAI: Registrierung notwendig

  • ChatGPT R Pakete: beispielsweise chatgpt, askgpt, gptstudio und gpttools

Achtung

Die Trainingsdaten reichen nur bis zu einem bestimmten Jahr zurück, deswegen können neuere Pakete/Tools teilweise noch nicht integriert sein.

Anwendung:

  • Code-Vorschläge

  • Analysemöglichkeiten

  • Optimierung und Fehlerbehebung

7.2.4.1 Anwendungsbeispiel:

ChatGPT kann einfache Code-Chunks erzeugen, wie z. B. Vorschläge zur Berechnung des Medians oder der Standardabweichung.Bei der Datenanalyse kann ChatGPT auch nützlich sein, aber ein kritischer Blick auf die Outputs bleibt unerlässlich. Zusätzlich kann ChatGPT bei der Optimierung des Codes sowie der Fehlerbehebung hilfreich sein. Bei Letzterem kann ChatGPT, wenn der Fehlercode eingegeben wird, mögliche Ursachen diskutieren und Lösungen vorschlagen. Diese Anwendungsmöglichkeit ist in der Regel am effizientesten und zielführendsten, da ChatGPT Fehler schnell ausfindig und im Idealfall sogar beheben kann.

7.2.5 Hawki

= Open Source- Schnittstelle zu KI-Sprachmodellen wie ChatGPT/ Meta LLaMA / Qwen für alle FAU Angehörigen

Zugriff über:

  • Intern oder über VPN

  • Anmeldung mit IdM-Kennung: eigener Account bei nutzbaren KI-Anwendungen ist nicht notwendig

  • Kostenlos: Kosten werden von FAU getragen

  • Höhere Anonymität: Anfragen werden mit globaler FAU-Kennung gestellt

Anwendung:

  • Allgemeiner Chatraum

  • Spezieller Chatraum (virtuelles Büro: Gespräch mit fiktiven Experten und Expertinnen)

  • Lernraum: Erlernen von Prompts

7.2.5.1 Anwendungsbeispiel:

Bei Hawki kann man generell immer zwischen den verschieden verwendbaren Modellen, wie z.B. ChatGPT 4, DeepSeek, Qwen, wählen und auch wechseln. Diese können für alle oben genannten Anwendungen genutzt werden. Diese reichen vom Erlernen von Prompts in Lernräumen bis hin zu Chaträumen. Bei den Lernräumen gibt es die Unterkategorien „Wissenschaftliches Arbeiten“, „Organisation“ und „Kreativität“. „Wissenschaftliches Arbeiten“ ist für die Arbeit mit R interessant, da es weiter in Bereiche wie „Datenanalyse“ unterteilt ist.

Ein Beispiel-Prompt hierfür lautet: „Ich habe kürzlich eine umfangreiche Datensammlung durchgeführt und suche nun nach Unterstützung bei der Analyse der Daten. Die Datensammlung umfasst [Beschreibung der Daten], und ich möchte [Ziel der Analyse]. Könntest du mir bitte dabei helfen, die Daten zu analysieren und mir Ratschläge zur Interpretation der Ergebnisse zu geben?“

Zur Beantwortung von Fragen kann man sich nun entweder an den allgemeinen Chatraum oder an den spezifischeren in Form des „virtuellen Büros“ wenden. Bei Letzterem kommuniziert man mit fiktiven Expert:innen aus unterschiedlichen Fachbereichen.

Ein Beispiel dafür ist Fatima: „Du unterhältst Dich jetzt mit Fatima, einer fiktiven Programmiererin. Was möchtest Du über Programmierung wissen?“

Gestellte Fragen können beispielsweise die Nutzung bestimmter R Pakete, Code Optimierung oder Fehlerbestimmung behandeln. Die andere Möglichkeit, Antworten zu generieren, ist der allgemeine Chat unter „Konversation“, wo es keine Untergliederungen gibt, sondern nur einen Chatbereich für beliebige Anliegen. Beide Optionen können nützliche Outputs generieren, die inhaltlich bei derselben Frage deckungsgleich sind. Der Unterschied liegt zum einen in der oben beschriebenen Struktur, zum anderen werden Chatverläufe und Antworten im „virtuellen Büro“ nicht gespeichert.

7.2.6 Fazit

Was funktioniert mit KI-Tools gut, was nicht?

Vorteile der Nutzung von KI- Tools sind vor allem die guten Hilfestellungen durch Codevorschläge und die schnelle Beantwortung einfacher Fragen. Dennoch scheitern diese meist noch an komplexeren Aufgaben oder beim Übersetzen in unterschiedliche Programmiersprachen.

Unverzichtbar bleibt die Überprüfung der Outputs!

7.2.7 Rechtliche Hinweise der FAU

Hier sind die rechtlichen Hinweise der FAU, u.A. zu Zitierpflichtigkeit sowie erlaubten Hilfsmitteln in Prüfungen, zu finden.