Mathematische Funktionen
Zeichen / Funktion
Beschreibung
Beispiel
Ergebnis
+
Addition
5 + 5
10
-
Subtraktion
9 - 3
6
*
Multiplikation
3 * 3
9
/
Division
9 / 3
3
^
Potenz
4 ^ 2
16
sqrt(x)
Quadratwurzel
sqrt(16)
4
abs(x)
Betrag
abs(-4)
factorial(x)
Fakultät
factorial(5)
120
Logische Abfragen
==
Gleichheit – prüft, ob zwei Werte identisch sind
2 == 2
TRUE
!=
Ungleichheit – prüft, ob zwei Werte verschieden sind
2 != 2
FALSE
>
Größer-als-Vergleich
4 > 2
<
Kleiner-als-Vergleich
4 < 2
>=
Größer-gleich-Vergleich
4 >= 4
<=
Kleiner-gleich-Vergleich
4 <= 4
&
Logisches UND – beide Bedingungen müssen wahr sein
2 == 2 & 5 == 4
|
logisches ODER
mindestens eine Bedingung muss wahr sein
2==2 | 5==4
Befehle
TabelleVerwaltung von Objekten
Befehl
Funktion
ls()
zeigt alle aktuell vorhandenen Objekte an
remove(x) oder rm(x)
remove(x)
rm(x)
löscht das Objekt x
x
Environment-Fenster (RStudio)
zeigt vorhandene Objekte grafisch an
Verwaltung von Vektoren
Mit eckigen Klammern [] kann man auf einzelne Elemente oder Teilbereiche eines Vektors zugreifen.
[]
Bedeutung
alter[1]
erstes Element
→ 18
namen[3]
drittes Element
→ "Lisa"
alter[2:4]
Elemente 2 bis 4
→ 27, 38, 47
namen[c(1,5)]
bestimmte Reihenfolge
→ "Thomas", "Gerrit"
alter[-1]
alle außer dem 1. Element
→ 27, 38, 47, 63
namen[-(1:3)]
alle außer den ersten drei
→ "Christian", "Gerrit"
:
Doppelpunkt-Notation, Um Zahlenreihen automatisch zu erzeugen
1:5
→ erzeugt die Werte 1, 2, 3, 4, 5
rep(____, times = )
rep(____, each= , times=2)
Wiederholung
rep(1:5, times=3)
ganze Reihe wird 3x wiederholt
rep(1:3, each=3, times=2)
jede Zahl wird 3× wiederholt, Reihe 2×
seq(from= , to= , by= )
seq(from= , to= , by=- )
seq(______, length.out= )
Sequenzen mit Start, Ende und Schrittweite
Sequenz absteigend
Genannten Werte werden gleichmäßig nach length.out bestimmter Anzahl verteilt
seq(from=3, to=9, by=0.5)
= 3, 3.5, 4, ..., 9
seq(from=5, to=-5, by=-1)
= absteigend von 5 bis -5
seq(1.5, 8.2, length.out=9)
=9 Werte gleichmäßig verteilt zwischen 1.5 und 8.2
head(x)
zeigt die ersten 6 Elemente
head(sequenz)
= 0,1,2,3,4,5
tail(x, anzahl(n))
zeigt die letzten (Anzahl) Elemente
tail(alter, 10)
= 91-100
length(x)
gibt Anzahl der Elemente
length(sequenz)
=101 (0 bis 100)
Tabellen
Konzept
Data Frame
Tabelle mit Spalten (Vektoren) gleicher Länge
data.frame()
Spaltenzugriff
Zugriff mit $
$
daten2$punkte
Tabellenansicht
Öffnet Editor-Ansicht
View(daten2)
Löschen von Objekten
Entfernt Objekte aus dem Environment
remove(objekt)
Häufigkeiten
Zeigt, wie oft bestimmte Werte vorkommen (z. B. wie viele Personen ein bestimmtes Alter haben).
table(daten2$alter)
table(daten2$punkte)
Minimum
kleinster Wert
min(daten2$alter)
Maximum
größter Wert
max(daten2$alter)
Wertebereich
größter u. kleinster Wert zsm
range(daten2$alter)
Arithmetisches Mittel
Durchschnitt
mean(daten2$alter)
Zusammenfassung
Statistik-Übersicht (Minimum, 1. Quartil, Median, Mittelwert, 3. Quartil, Maximum) aus.
summary(daten2§alter)
Grafik aus einer Tabelle generieren
plot( )
Streudiagramm
plot(daten2$alter, daten2$einkommen,
xlim = c(_____)
Achsenbegrenzung der X-Achse
xlim = c(0, 70)
ylim = c(____)
Achsenbegrenzung der Y-Achse
ylim = c(0, 2500)
main =
Titel der Grafik
main = "Streudiagramm"
ylab =
Beschriftung Y Achse
ylab = “Einkommen”
xlab =
Beschriftung X Achse
xlab = “Alter”
col =
Farbe der Punkte
col = “red”
pch =
*plotting character (Punktsymbole)
pch = 19
gefüllter Kreis (Standard in vielen Beispielen
cex =
Punktgröße
normal: 2
*pch
Symbol
0
□
offenes Quadrat
1
○
offener Kreis
2
△
offenes Dreieck nach oben
Plus-Zeichen
×
Kreuz
5
◊
offener Diamant
▴
gefülltes Dreieck
15
■
gefülltes Quadrat
●
gefüllter Kreis
17
▲
18
◆
gefüllter Diamant
19
● (etwas größer)
gefüllter Punkt (häufig genutzt)
Hilfe in R
help(mean) ODER ?mean
um im Reiter “help” (unten rechts im RStudio) Hilfe zu bekommen
Beschreibung der Funktion
Erklärung der Argumente
Beispiele zur Anwendung
Tipp:
Mit Klick auf das Haus-Symbol im „Help“-Fenster gelangt man zu einer Übersicht nützlicher Seiten.
Wenn der Cursor in einer Funktion steht, kann auch die Taste F1 gedrückt werden.
Objekte
Grundprinzip: R ist eine objektbasierte Befehlssprache.→ Alles, was in R erstellt oder berechnet wird, wird als Objekt gespeichert.
Ein Objekt kann z. B. enthalten:
einen einzelnen Wert (z. B. x <- 3),
x <- 3
mehrere Werte (z. B. Vektoren oder Listen),
Variablen oder Datensätze,
oder Ergebnisse von Berechnungen oder Analysen.
Regeln für Objektnamen
Muss mit einem Buchstaben beginnen.
Darf Buchstaben, Ziffern, Unterstriche _ und Punkte . enthalten.
_
.
Keine Umlaute oder Sonderzeichen (z. B. ä, ß).
Kleinschreibung empfohlen, da R case sensitive ist:
x ≠ X.
X
Zuweisung (Werte speichern)
erfolgt mit dem Zuweisungspfeil <-aus < und -
<-
💡 Tipp: Tastenkombination Alt + - erzeugt <- automatisch mit Leerzeichen.
Beispiel:
x <- 32
→ erstellt ein Objekt namens x mit dem Wert 32. Das Objekt kann dann in weiteren Berechnungen verwendet werden:
32
x + 5
Ergebnis: 37
37
Überschreiben:
x <- 42
→ ersetzt den alten Wert (32) durch den neuen (42).
Befehle Gesamt:
x <- 32 # Objekt erstellen
x + 5 # mit Objekt rechnen
x <- 42 # Objekt überschreiben
ls() # alle Objekte anzeigen
rm(x) # Objekt löschen
Vektor
= Grundbausteine vieler Datenstrukturen in R (z. B. Data Frames) = wie eine Spalte in einer Tabelle. z. B. das Alter, Einkommen oder die Namen mehrerer Personen.
➡️ Ein Vektor enthält mehrere Werte gleichen Typs (Zahlen oder Text). Jeder Wert hat eine Position (Index), beginnend bei 1.
Vektoren erstellen
Mit der Funktion c() (für concatenate = verbinden) werden mehrere Werte zu einem Vektor zusammengefasst:
c()
alter <- c(18, 27, 38, 47, 63)
namen <- c("Thomas", "Julia", "Lisa", "Christian", "Gerrit")
! Alle Werte eines Vektors müssen vom gleichen Datentyp sein.
alter ist ein numerischer Vektor
alter
namen ist ein Textvektor (character) → Text immer in Anführungszeichen!
namen
Tabelle
Grundprinzip: Ein Vektor entspricht einer Spalte einer Tabelle.Mehrere Vektoren gleicher Länge können zu einer Tabelle zusammengefasst werden.
➡️ In R heißen Tabellen data.frame (engl. Datenrahmen).
data.frame
Tabelle aus 2 vorhandenen Vektoren erstellen:
Vektor 1: namen <- c("Thomas", "Julia", "Lisa", "Christian", "Gerrit")
Vektor 2: alter <- c(18, 27, 38, 47, 63)
Tabelle erstellen: daten1 <- data.frame(namen, alter)
Tabelle ohne vorhandene Vektoren direkt erstellen:
daten2 <- data.frame(
name = c("Oliver", "Julia", "Thomas", "Stefanie", "Daniel"),
alter = c(32, 38, 49, 35, 52),
punkte = c(12, 18, 6, 14, 9),
einkommen = c(1900, 2000, 1800, 2200, 1600))
➡️ daten2 enthält jetzt vier Spalten und fünf Zeilen(n = 5 Personen, m = 4 Merkmale).
daten2
Befehle:
Mit $ kannst du auf einzelne Spalten zugreifen:
daten1$alter # gibt Alterswerte der Tabelle daten1
daten2$name # gibt die Namen der Tabelle daten2
Data.frames erweitern
Variablen zu bestehendem Data.frame hinzufügen
Variable erstellen: z.B. neue_person <- data.frame(punkte_test = 7, gelernte_stunden = 18, name = "Paul")
erster_df <- rbind(erster_df, neue_person)
mehrere Frames verbinden zu einem neuen
gesamt_df<-cbind(frame1, frame2,…)
Achtung: In R müssen fehlende Werte (NA) aktiv ausgeschlossen werden, damit Berechnungen funktionieren.
NA
Fehlende Werte werden in R durch NA (Not Available) dargestellt.
Sie treten häufig in realen Datensätzen auf, z. B. wenn Befragte keine Angabe machen.
beispiel_na <- c(1900, 2000, 1800, 2200, NA)
→ Der letzte Wert ist fehlend.
Problem, wenn man direkt Berechnung durchführen möchte, gibt R NA aus, da fehlende Werte das Ergebnis ungültig machen.
Lösung: Mit dem Argument na.rm = TRUE (remove NAs = TRUE) werden fehlende Werte ignoriert:
na.rm = TRUE
Beispiel: min(beispiel_na, na.rm = TRUE)
max(beispiel_na, na.rm = TRUE)
Statt TRUE kann auch das Kürzel T verwendet werden.
T
Grafiken
wird noch aufgefüllt in Kapitel 7
Shortcuts
1. Neue Skript-Datei öffnen: Strg + Shift + N
2. Bestehende Skript-Datei öffnen: Strg + O
3. Neuen Abschnitt in R-Skript erstellen: Strg + Shift + R
4. Codezeile in R-Skript ausführen: Strg + Eingabetaste (Enter)
5. Zuweisungspfeil erstellen: Alt + Minus (-)
Arbeiten mit R - Pakete installieren und laden/ importieren
🔹 Grundidee
Pakete (Packages) erweitern den Funktionsumfang von R erheblich.
Sie werden von Einzelpersonen oder Gruppen erstellt und über das CRAN (Comprehensive R Archive Network) bereitgestellt.
Viele Analysen und Funktionen in R sind nur durch zusätzliche Pakete verfügbar (z. B. tidyverse, dplyr).
Installation (nur einmal nötig)
install.packages("paketname")
Paketname in Anführungszeichen
ggf. automatische Installation abhängiger Pakete (dependencies)
Installation dokumentiert in der Console (z. B. package ‘descr’ successfully unpacked and MD5 sums checked)
Nach erfolgreicher Installation erscheint wieder das Prompt-Zeichen >
Laden / Aktivieren (bei jeder neuen Sitzung nötig)
library(paketname)
Ohne Anführungszeichen
Paket wird für die aktuelle R-Sitzung aktiviert
Kommentarzeichen # vor install.packages() verhindert unbeabsichtigte Neuinstallation beim Skriptlauf.
#
install.packages()
Dokumentation installierter Pakete in RStudio:
Reiter: Packages (unten rechts)
Paketname anklicken → öffnet Dokumentation
Aktivierung/Deaktivierung durch An- oder Abhaken
Deinstallation: Klick auf „x“ rechts in der Paketzeile
Update: über Symbol unterhalb des Reiters Packages oder mit
update.packages()
→ aktualisiert alle installierten Pakete (sofern keine Namen angegeben werden)
install.packages("tidyverse") # nur einmal nötig library(tidyverse) # in jeder Sitzung laden
tidyverse = Sammlung mehrerer Pakete mit gemeinsamer Philosophie, Grammatik und Datenstruktur
Enthält z. B. dplyr, ggplot2, tidyr, readr usw.
Offizielle Dokumentation: www.tidyverse.org
In der Paketübersicht werden einzelne tidyverse-Pakete angezeigt, nicht das Gesamtpaket selbst
Installation eines Pakets (einmalig, mit Anführungszeichen)
Laden eines Pakets (bei jeder R-Sitzung, ohne Anführungszeichen)
Aktualisiert alle installierten Pakete
📘 Daten laden in R
Daten werden in R meist nicht manuell eingegeben, sondern geladen oder importiert.
Unterschied:
Laden → wenn Daten bereits im R-Format (.RData) vorliegen
Importieren → wenn Daten aus anderen Formaten stammen (z. B. Excel, SPSS)
Enthält fiktive Informationen zu Figuren der Comicserie „Peanuts“
Umfasst 7 Variablen und 10 Fälle
Variable
id
Fallnummer
name
Name der Figur
auftritt
Erster Auftritt der Figur
typ
Mensch oder Tier
sport
Lieblingssportart
tgeld
Taschengeld
punkte
Punktzahl in einem Test (bei Lucy Van Pelt fehlt der Wert → Item-Nonresponse)
🧠 Item-Nonresponse: Wenn eine Person bei einer Frage keine Angabe macht (fehlender Wert = NA in R).
Über das Menü: File → Open File… → Datei über Auswahlfenster öffnen
File → Open File…
Über das Environment-Fenster: Klick auf das Datei-Symbol im Reiter Environment
Über Tastaturkürzel: Strg + O → öffnet das Auswahlfenster
Strg + O
Direkt über ein Skript (empfohlen):
Vorteil: Nachvollziehbarkeit und Reproduzierbarkeit der Analysen
Hierbei muss das Arbeitsverzeichnis (working directory) angegeben werden
getwd()
Gibt das aktuelle Arbeitsverzeichnis in der Console aus
setwd("Pfad")
Legt das Arbeitsverzeichnis fest
💡 Hinweis für Windows-Nutzer: In Pfadangaben müssen Vorwärtsschrägstriche / verwendet werden, z. B.:
setwd("H:/Verzeichnis1/Verzeichnis2")
getwd() # aktuelles Arbeitsverzeichnis anzeigen setwd("H:/") # Arbeitsverzeichnis festlegen load("peanuts_r.RData") # Datensatz laden load("H:/peanuts_r.RData") # alternativ: vollständiger Pfad in der Funktion View(peanuts_r) # Datensatz in Tabellenansicht öffnen
R-Daten (.RData) → werden mit load() geladen
load()
Andere Formate (Excel, SPSS usw.) → werden importiert
Arbeitsverzeichnis (getwd/setwd) muss richtig gesetzt sein
View() öffnet den Datensatz zur Ansicht
Fehlende Werte werden in R als NA dargestellt
📘 Daten importieren in R
🔹 Grundprinzip
Daten liegen häufig nicht im R-Format (.RData) vor → müssen importiert werden.
R bietet verschiedene Importmöglichkeiten → z. B. über
das Environment-Fenster: Import Dataset → Auswahl der passenden Datenquelle (Excel, SPSS, CSV etc.).
Import Dataset
oder per Skript:
🔹 1. Import von Excel-Dateien
Menüpfad: Import Dataset → From Excel
Import Dataset → From Excel
Es öffnet sich ein Auswahlfenster:
Browse → Excel-Datei auswählen
Data Preview → Vorschau des Datensatzes
Import Options → Anpassungen möglich (z. B. Tabellenblatt auswählen)
Der Import erfolgt über das Paket readxl.
Code-Vorschau („Code Preview“) zeigt automatisch den entsprechenden Befehl, z. B.:
peanuts_excel <- read_excel("E:/peanuts_excel.xlsx")
Möglichkeit: Code kopieren oder direkt auf „Import“ klicken → Datensatz wird geladen.
Nach erfolgreichem Import erscheint der Datensatz im Environment-Fenster (z. B. peanuts_excel).
peanuts_excel
Menüpfad: Import Dataset → From SPSS
Import Dataset → From SPSS
Import erfolgt über das haven-Paket (Teil des tidyverse).
Vorschau zeigt Datensatz – z. B. Spalten typ und sport erscheinen als Ziffern (double) statt Text.
Grund: SPSS verwendet Variablen- und Wertelabels → diese werden in R als Attribute gespeichert.
Import per Klick auf „Import“ oder alternativ per Skript:
peanuts_spss <- read_sav("E:/peanuts_spss.sav")
Datensatz erscheint anschließend im Environment-Fenster.
CSV = Comma-Separated Values
Sehr häufiges Format, oft mit Tabellenkalkulationen (z. B. Excel) verknüpft.
Aufbau:
Erste Zeile: Variablennamen
Folgende Zeilen: Werte der einzelnen Untersuchungsobjekte
Unterschiedliche Trennzeichen:
International: Komma (,) als Feldtrennzeichen, Punkt (.) als Dezimaltrennzeichen
,
Deutsch/Europa: Semikolon (;) als Feldtrennzeichen, Komma (,) als Dezimaltrennzeichen
;
🧩 Beispiele:
CSV (Komma als Trennzeichen):
id,name,auftritt,typ,sport,tgeld,punkte 1,Charlie Brown,02.10.1950,Mensch,Baseball,5,25.5
CSV (Semikolon als Trennzeichen):
id;name;auftritt;typ;sport;tgeld;punkte 1;Charlie Brown;02.10.1950;Mensch;Baseball;5;25,5
Menüpfad: Import Dataset → From Text (readr)
Import Dataset → From Text (readr)
Dort kann das Datenfeldtrennzeichen und weitere Optionen angepasst werden.
Der Import erfolgt über Funktionen aus dem Paket readr:
Trennzeichen
Komma (,)
read_csv()
international gebräuchlich
Semikolon (;)
read_csv2()
deutschsprachiger Raum
Beispiele:
peanuts_comma <- read_csv("E:/peanuts_comma.csv") peanuts_semicolon <- read_csv2("E:/peanuts_semicolon.csv")
Beide Funktionen (read_csv, read_csv2) sind Varianten der allgemeinen Funktion read_delim(). Über die Hilfefunktion ?read_csv oder ?read_csv2 kann eine ausführliche Beschreibung abgerufen werden.
read_csv
read_csv2
?read_csv
?read_csv2
Excel-Import: über readxl → read_excel()
readxl
read_excel()
SPSS-Import: über haven → read_sav()
haven
read_sav()
CSV-Import: über readr → read_csv() oder read_csv2()
readr
Import-Funktion in RStudio: über Environment → „Import Dataset“
Trennzeichen & Dezimaltrennzeichen je nach Sprachraum beachten
Labels aus SPSS werden in R als Attribute gespeichert, nicht automatisch als Text
Objekttypen
📘 Objekttypen in R
Objekttypen (engl. data types) = entscheidend für die Verarbeitung und Analyse von Daten.
Unterschiedliche Datentypen führen zu unterschiedlichem Verhalten von Funktionen. → Beispiel: mean(peanuts_r$tgeld) funktioniert, aber mean(peanuts_r$name) führt zu einer Fehlermeldung, da name kein numerischer Typ ist.
mean(peanuts_r$tgeld)
mean(peanuts_r$name)
Kenntnis der Objekttypen ist wichtig, um Fehler zu vermeiden und Daten korrekt zu analysieren.
Zahlen = numeric
Bezeichnung in R: numeric
numeric
Zwei Untertypen:
integer → ganze Zahl (z. B. 2L)
2L
double → Kommazahl (z. B. 2.0) = standard!
2.0
Unterschied meist nur bei großem Speicherbedarf relevant.
class(peanuts_r$tgeld) # integer class(peanuts_r$punkte) # numeric
2️⃣ Text
Bezeichnung in R: character
character
Enthält Text oder Zeichenketten.
Zahlenfolgen können als Text gespeichert werden, wenn sie in Anführungszeichen stehen:
objektname <- "123" class(objektname) # character
Mit Textvariablen werden keine statistischen Berechnungen durchgeführt.
Es gibt eigene Pakete zur Textverarbeitung, z. B. stringr.
3️⃣ Faktoren (factor)
kategoriale Variablen mit bekannter und begrenzter Anzahl von Ausprägungen. → Besonders geeignet für nominale (z. B. Geschlecht) und ordinale Variablen (z. B. Bildungsniveau).
Vorteile bei statistischen Analysen (z. B. automatische Häufigkeitstabellen).
Prüfung der Ausprägungen (Levels):
levels(peanuts_r$typ) # "Mensch", "Tier" levels(peanuts_r$sport) # "Baseball", "Eiskunstlauf", "Golf"
Beispielhafte Analyse:
summary(peanuts_r$typ) summary(peanuts_r$sport)
→ Ausgabe: Häufigkeitstabellen, keine deskriptiven Statistiken.
4️⃣ Datum (Date)
Speichert Datumsangaben → ermöglicht Berechnung von Zeitspannen.
class(peanuts_r$auftritt) # "Date" Sys.Date() # Aktuelles Datum date() # Aktuelles Datum + Uhrzeit
Beispiel für Berechnung:
peanuts_r$dauer <- Sys.Date() - peanuts_r$auftritt
→ Anzahl der Tage seit dem ersten Auftritt.
Funktion: class() → zeigt den Objekttyp einer Variablen an.
class()
class(peanuts_r$name) # character class(peanuts_r$auftritt) # Date class(peanuts_r$typ) # factor class(peanuts_r$tgeld) # integer class(peanuts_r$punkte) # numeric
Zweck
Prüfen
is.numeric()
Prüft, ob Variable numerisch ist
is.integer()
Prüft auf Ganzzahl
is.double()
Prüft auf Kommazahl
is.factor()
Prüft auf Faktor
is.character()
Prüft auf Text
Konvertieren
as.numeric()
Wandelt in numerisch um
as.integer()
Wandelt in Ganzzahl um
as.double()
Wandelt in Kommazahl um
as.factor()
Wandelt in Faktor um
as.character()
Wandelt in Text um
Beim Import von Datensätzen aus verschiedenen Formaten (Excel, SPSS, CSV) können die gleichen Variablen unterschiedliche Objekttypen haben:
peanuts_r
peanuts_spss
peanuts_csv2
integer
Date
POSIXct / POSIXt
factor
double
👉 Fazit: Der Objekttyp hängt vom Importverfahren und dem Dateiformat ab. Prüfung nach dem Import ist daher unerlässlich.
📄 Beispiel: Excel-Datensatz (Text → Faktor)
peanuts_excel$typ2 <- as.factor(peanuts_excel$typ) peanuts_excel$sport2 <- as.factor(peanuts_excel$sport)
📄 Beispiel: SPSS-Datensatz (Zahl → Faktor mit Labels)
peanuts_spss$typ2 <- factor(peanuts_spss$typ, levels = c(1, 2), labels = c("Mensch", "Tier")) class(peanuts_spss$typ2) peanuts_spss$sport2 <- factor(peanuts_spss$sport, levels = c(1, 2, 3), labels = c("Baseball", "Golf", "Eiskunstlauf")) class(peanuts_spss$sport2)
→ Neue Variablen (typ2, sport2) sind korrekt als Faktoren definiert.
R unterscheidet Zahlen, Text, Faktoren und Datum.
Der Objekttyp beeinflusst, welche Funktionen sinnvoll angewendet werden können.
Nach jedem Import: immer Objekttyp mit class(objektname$variable) prüfen.
class(objektname$variable)
Falls nötig → mit as.*() in den passenden Typ konvertieren.
as.*()
Unterschiede zwischen Datensatzformaten (Excel, SPSS, CSV) sind normal und müssen ggf. bereinigt werden.
Regeln für saubere Skripte
Es gibt verschiedene Coding-Style, welchen man wählt ist egal, aber er muss konsequent durch das Skript durchgezogen werden (z.B. TidyVerse-Style)
Dateien immer klar zu bennen - ohne Leerzeichen, immer mit Unter- oder Bindestriche
Header (4x Bindestrich) erschaffen Abschnitte zur Strukturierung eines Skriptes - Anzeige eines Heads durch Button rechts oben im Skript
Alternative: Reiter oben im Menü “Code” -> “Insert Section”
oder: str+Umsch+R
Alle genutzten Pakete über das Skript aufführen und laden zur Nachvollziehbarkeit
Variablen und Funktionen von Objekten (data.frame) immer klar benennen. Empfohlen:
Benennung durch kleine Buchstaben und Zahlen
Worte trennen mit Unterstrich
Variablen werden mit Substantiven, Funktionen mit Verben benannt
Namen allgemein nicht zu lang!
auf eine Variable (Spalte) im data.frame zugreifen mit dem $-Operator
Elementtyp
Beispielname
Warum Substantiv / Verb?
Beispielinhalt
Objekt
lern_daten
Substantiv – beschreibt, was gespeichert ist
Tabelle mit Beobachtungen
stunden, note
stunden
note
Substantive – beschreiben Eigenschaften
Spalten im Datensatz
berechne_korrelation()
Verb – beschreibt, was getan wird
führt eine Berechnung aus
Nutze Kommentare, um die Erklärung eines Arbeitsschrittes hinzuzufügen (z.B. #funktion berechnet die Korrelation)
für bessere Lesbarkeit nach jedem Argument (also Komma) oder Operator ein Leerzeichen, obwohl dies für die Berechnung nicht notwendig ist
Verhinderung langer Zeilen, max. 80 Zeichen (graue Linie im Skriptfenster)
trenne dafür Argumente und lasse die jeweils öffnende und schließende Klammer alleine in einer Zeile stehen
Beispiel: lernerfolg <- data.frame c(
“gelernte_stunden”,….
Pakete immer am Anfang des Skriptes laden
# Pakete
library(tidyverse)
library(haven)
library(sjmisc)
library(sjPlot)
# Daten laden
load("ess9de_m1.RData")
pipes aus TidyVerse sauber anwenden:
Jeder Pipe in eigene Zeile mit erklärendem Kommentar
z.B: group_by.._(region) %>% #Sortierung nach Region
Heißt: „Saubere Skripte sind wie saubere Notizen – sie sparen Zeit, vermeiden Fehler und machen Analysen reproduzierbar.“
Arbeitsschritte (reale Klicks und Befehle)
Neuen Absatz erschaffen
Reiter oben im Menü “Code” -> “Insert Section”
Daten importieren
Von Excel: Befehl im script: library(readxl)
library(readxl)
Enviroment: import Dataset -> from Excel -> code kopieren
Code im Skript eingeben zwecks Nachvollziehbarkeit (auf Schrägstriche achten!)
(z.B: Dateiname <- read_excel(“anlageort am PC/Dateiname)
View(dateiname)
Von SPSS: Befehl im Skript: library(haven)
Enviroment: import Dataset -> from SPSS-> code kopieren
(z.B: Dateiname <- read_sav(“ablageort am PC/Dateiname)
R-Daten hochladen
load(ablageort+Dateiname)
Auf Schrägstriche achten -> immer /
Hochgeladene Daten auf Objekttypen prüfen
Objektklassifizierung: sapply(Datenname, class) oder str(Datenname)
gibt dann für jede Spalte den Objekttypen heraus
Objekttypen:
numeric → Für Berechnungen mit Zahlen
Integer: Ganze Zahlen
double: Kommazahlen
factor → Für (Text)Kategorien mit begrenzten Ausprägungen
Levels gibt Menge aller möglichen Kategorien (Ausprägungen) an, die diese Variable annehmen kann.
zeigt aber nicht, wie oft diese Kategorie vorkommt – das kommt später, z. B. mit table() oder summary().
table()
summary()
Funktion: levels(dateiname$variable)
character → Für Text
date → Für Zeitangaben
logical → Für Wahr/Falsch-Aussagen
Ausprägungsarten für Faktoren ausgeben lassen:
min(datennamen$Variable, na.rm = TRUE)
max(….”)
Häufigkeit: summary(….”)
Last changeda month ago