R & RStudio: allererste Schritte

27. April 2021

Es gibt viele gute Anleitungen und Kurse zu R und RStudio. Dies hier sind einfach meine Notizen im Sinne von «Notes to myself». So habe ich alles an einem Ort und finde es wieder 😉

Was sind R und RStudio?

R ist eine Open-Source Programmiersprache, die besonders gut für statistische Auswertungen geeignet ist. Damit kann man unter anderem Daten einlesen, transformieren, analysieren und Visualisierungen erstellen.

Dank einer äusserst aktiven Community existieren tausende Packages für die verschiedensten Anwendungsbereiche. Dadurch werden komplexe Aktivitäten vereinfacht.

RStudio ist ein sogenanntes IDE (Integrated Development Environment). Vereinfacht gesagt, es ist eine Benutzeroberfläche. So muss man nicht in der Kommandozeile arbeiten. Und wenn man R als den Motor betrachtet, dann wäre RStudio das Cockpit mit Knöpfen, Hebeln und Anzeigen.

RStudio: die vier Quadranten

Die Benutzeroberfläche besteht aus diesen vier Teilen (Quadranten):

Q1, Script Editor

R Skript
R Skript

Q2, R Console: direkte Eingabe von Code und Ausgabe von Resultaten oder Fehlermeldungen

R Console
R Console

Q3, Environment: Liste mit den geladenen Datensätzen und erstellten Variablen

R Environment
R Environment

Q4, Packages, Plots (Grafiken) und Hilfe

R Packages
R Packages

Tastenkombination zum hin- und herspringen zwischen den verschiedenen Quadranten:

  • Strg+[1:4]
  • z.B. Strg+2 um in die Console (Quadrant 2) zu springen

Eingabe in der Console

Die Console ist geeignet für kurze Code Snippets, z.B. um schnell etwas auszuprobieren oder nachzuschauen. Sonst ist es praktischer und effizienter, den Code in ein Skript einzugeben.

Unvollständige Eingaben

R hilft, wenn man etwas unvollständiges eingibt. Zum Beispiel:

  • 12.3 + [Enter]

In diesem Fall wird in einer neuen Zeile einfach «+» angegeben, das heisst R wartet auf mehr.
Man kann dann die Eingabe ergänzen und mit Enter abschliessen.

R Console Eingabe
R Console Eingabe

Vorhergehende Eingaben wiederholen (und verändern)

  • Pfeiltaste nach oben drücken bis man die gewünschte Eingabe sieht
  • Mit den Pfeiltasten links/rechts dorthin gehen, wo man etwas ändern will (oder mit der Maus dorthin klicken)
  • Ändern und [Enter] drücken

Nachteil der Console: beim Neustart geht alles verloren

Angenommen wir haben eine komplizierte Zahl einer Variablen zugeordnet. So können wir mit dieser Zahl arbeiten ohne sie immer wieder einzutippen.

Beispiel

  • a <- 27341.437

Diese Variable wird unter Q3 (Environment) gelistet und man kann «a * 3» oder «a/17» eingeben anstatt «27341.437 * 3» oder «27341.437/17».

R Console und Variablen
R Console und Variablen

Bei einem Neustart geht diese Variable aber verloren.

Man kann die temporären Variablen auch von Hand «wegputzen» indem man im Q3 auf den Besen klickt.

In der Console (Q2) gibt es auch einen Besen. Damit kann man die Ein- und Ausgaben entfernen. Es werden dabei aber keine Variablen gelöscht und die bisherigen Eingaben sind mit Pfeiltaste nach oben weiterhin verfügbar.

R der Besen
R der Besen

Eingabe in einem Skript

Was ist ein Skript?

Ein Skript ist eine Textdatei, in der Code gespeichert wird. Somit kann dieser Code immer wieder benutzt werden ohne dass man ihn jedes Mal neu eingeben muss.

Es besteht auch die Möglichkeit Kommentare einzufügen und ein kleines Inhaltsverzeichnis zu erstellen.

Vorteile von Skripts

Aktivitäten beim Neustart automatisieren, z.B.

  • alle Packages in einem Schritt aktivieren (anstatt jedes Package einzeln von Hand)
  • externe Datensätze einlesen
  • dort weitermachen, wo man das letzte Mal aufgehört hat (Code der letzten Session schnell durchrattern lassen)

Weitere Vorteile

  • viel einfacher und übersichtlicher, um einen Fehler im Code zu finden und zu korrigieren
  • Bemerkungen und Erklärungen einfügen (vor allem hilfreich, wenn man den Code Monate oder Jahre später wieder verstehen sollte)
  • man kann den Code mit anderen teilen

Skript erstellen und speichern

Neue Skript-Datei erstellen:

  • Menu: File, New File, R Script

Skript speichern:

  • Menu: File, Save As (Dateiendung «.R»)

Beispiel für ein einfaches Skript

Nehmen wir nochmals unsere «komplizierte Zahl» und die zwei Berechnungen:

  • a <- 27341.437
  • a * 3
  • a / 17
R ein ganz einfaches Skript
R ein ganz einfaches Skript

Der Dateiname ist oben im Reiter sichtbar. Rot bedeutet, dass ich das Skript nicht gespeichert habe. Es ist sicher nicht verkehrt, wenn man sich angewöhnt, regelmässig Strg+S zu drücken 😉

Skript laufen lassen

Aktuelle Zeile (wo sich der Cursor befindet)

  • Es muss nicht die gesamte Zeile markiert werden
  • Button «Run» oder Strg+Enter

Mehrere Zeilen

  • Auch hier: Button «Run» oder Strg+Enter
  • Es müssen aber die gesamten Zeilen markiert werden (ausser man will bewusst nur einen Teil davon laufen lassen). Es wird also genau der Code ausgeführt, der auch markiert ist.

Beispiel: 2 Zeilen mit

  • 5 + 2 + 7 >> 14
  • 6 + 3 + 1 >> 10

Nur einen Teil davon markieren und ausführen:

  • 2 + 7 >> 9
  • 6 + 3 >> 9
R Teile von Zeilen ausführen
R Teile von Zeilen ausführen

Ganzes Skript laufen lassen

  • Alles markieren und Button «Run» oder Strg+Enter drücken

Mit dem Button «Source» kann man auch das komplette Skript laufen lassen. Allerdings werden dann nicht die einzelnen Schritte in der Console ausgegeben sondern nur das, was man ausdrücklich verlangt.

Beispiel mit «print(5 + 2 + 7)». In der Console wird nur «14» ausgegeben, sonst nichts.

R Skript mit Source-Button
R Skript mit Source-Button

Skripts: Kommentare

Kommentare werden mit einem «#» am Anfang der entsprechenden Zeile markiert. So wird diese Zeile nicht als Code ausgeführt.

Es ist nicht möglich, mehrere Zeilen als zusammenhängenden Kommentar zu definieren.

Man kann aber mehrere Zeilen markieren und Strg+Umsch+C drücken (oder Menu: Code, Comment/Uncomment Lines). Dadurch wird zwar trotzdem jede Zeile als ein einzelner Kommentar definiert, aber man muss nicht in jeder Zeile «#» eingeben.

Dies ist nützlich, wenn man einen Teil des Codes deaktivieren aber nicht löschen will.

Oder wenn man einen Teil des Codes temporär deaktiviert, um nur die Teile ober- und unterhalb davon auszuführen. So kann man einfach die entsprechenden Zeilen markieren und Strg+Umsch+C drücken. Danach das Ganze nochmals, um den Code wieder zu aktivieren.

Skripts: Inhaltsverzeichnis

Man kann ein kleines Inhaltsverzeichnis erstellen, indem man am Ende einer Kommentarzeile mehrere «-» eingibt.

Das Inhaltsverzeichnis befindet sich am rechten Rand des Q1. Falls es nicht sichtbar ist einfach auf den «Outline» Button klicken.

R Button Outline
R Button Outline

Mit zusätzlichen «#» werden die Einträge im Verzeichnis eingerückt dargestellt. Dies ergibt eine abgestufte Verzeichnisstruktur.

Beispiel:

  • # Hallo, ich bin ein Skript

Das ist einfach ein Kommentar im Skript.

  • # Zahl in Variable —-

Dieser Kommentar wird im Inhaltsverzeichnis aufgeführt

  • ### Variable ausgeben

Dies ist wieder ein normaler Kommentar. Ein «#» würde reichen. Die zusätzlichen «#’s» dienen höchstens der visuellen Darstellung.

  • ## Berechnung 1 —-

Dieser Kommentar wird im Inhaltsverzeichnis eingerückt dargestellt

  • #### Division —-

Noch mehr eingerückt

R Skript Inhaltsverzeichnis
R Skript Inhaltsverzeichnis

Die absolute Anzahl «#» spielt keine Rolle. Ein Eintrag wird «eingerückter» dargestellt, wenn er mehr «#» hat als der vorhergehende Eintrag. Markdown ist in R möglich, aber das gehört meiner Meinung nach nicht zu den allerersten Schritten 😉

Zu den einzelnen Abschnitten springen:

  • Klick auf den Eintrag im Inhaltsverzeichnis
  • im unteren Rand des Quadranten Klick auf den Doppelpfeil beim orangen #

Und zum Schluss…

Hier ist der Inhalt des Skripts. Einfach in eine Textdatei kopieren und mit Dateiendung .R abspeichern.

# Hallo, ich bin ein Skript

# Zahl in Variable ----
a <- 27341.437

### Variable ausgeben
a

## Berechnung 1 ----
a * 3

#### Division ----
a/17

print(5 + 2 + 7)

5 + 2 + 7
6 + 3 + 1

Zu den 1. Schritten mit R gehört auch das Installieren von Packages und das Importieren von externen Datensätzen.

In diesem Artikel ging es aber nur um die «allerersten Schritte». Deshalb ist hier vorerst Schluss für heute 😉

2 Comments

  1. Silvan Winkler

    Cooler Übersichtsartikel – gibt einen ersten «Geschmack» von dem wie sich die vertiefte Arbeit mit R anfühlen könnte – danke Etienne!

    Reply
    • Etienne Besson

      Hallo Silvan, vielen Dank für dein Feedback! Ich überlege gerade, was ich als nächstes «R-mässiges» schreiben könnte 😉
      viele Grüsse, Etienne

      Reply

Trackbacks/Pingbacks

  1. People Analytics: Tools - HR kiosk - […] Siehe auch: R & RStudio, allererste Schritte […]
  2. People Analytics - HR kiosk - […] R & RStudio: allererste Schritte […]

Leave a Reply to Etienne Besson Antworten abbrechen

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.