Was macht apply()?
- Führt eine Funktion zeilen- oder spaltenweise über eine Matrix aus./Syntax: apply(X, MARGIN, FUN)/X = Matrix oder Array, MARGIN = 1 für Zeilen, 2 für Spalten, FUN = anzuwendende Funktion (z. B. sum, mean)/Beispiel: apply(matrix(1:9, nrow=3), 1, sum) → Summen jeder Zeile (6, 15, 24), weil 1:9 Zahlen von 1 bis 9 erzeugt und nrow=3 eine 3×3-Matrix anlegt.
Was macht lapply()?
- Wendet eine Funktion auf jedes Element einer Liste an und gibt eine Liste zurück./Syntax: lapply(X, FUN)/X = Liste, FUN = Funktion (z. B. length, sum)/Beispiel: lapply(list(1:3, 4:6), sum) → Liste {6, 15}, weil 1+2+3=6 und 4+5+6=15.
Was macht sapply()?
- Wie lapply(), aber vereinfacht das Ergebnis, falls möglich, zu Vektor oder Matrix./Syntax: sapply(X, FUN)/Beispiel: sapply(list(1:3, 4:6), sum) → Vektor (6, 15) statt Liste.
Was macht mapply()?
- Führt eine Funktion auf mehrere Vektoren oder Listen parallel aus (elementweise)./Syntax: mapply(FUN, ...)/Beispiel: mapply(sum, c(1,2,3), c(10,20,30)) → (11, 22, 33), da 1+10, 2+20, 3+30 berechnet werden.
Was macht Reduce()?
- Wendet eine Funktion wiederholt auf aufeinanderfolgende Elemente eines Vektors an (Akkumulation)./Syntax: Reduce(FUN, X)/Beispiel: Reduce("+", 1:4) → (((1+2)+3)+4)=10, also Summe aller Werte 1–4.
Was macht ifelse()?
- Führt eine vektorisierte Bedingung aus und gibt je nach TRUE/FALSE unterschiedliche Werte zurück./Syntax: ifelse(test, yes, no)/Beispiel: ifelse(1:5>3, "groß", "klein") → ("klein","klein","klein","groß","groß"), weil nur 4 und 5>3.
Wie funktioniert eine for-Schleife in R?
- Wiederholt Befehle für jedes Element eines Vektors./Syntax: for(i in 1:n){ Anweisung }/Beispiel: for(i in 1:3){ print(i^2) } → Ausgabe 1, 4, 9 (Quadrate von 1–3).
Wie funktioniert eine while-Schleife?
- Wiederholt Code, solange eine Bedingung TRUE ist./Syntax: while(Bedingung){ Anweisung }/Beispiel: i<-1
Was macht break?
- Beendet eine Schleife sofort, ohne restliche Durchläufe./Beispiel: for(i in 1:5){ if(i==3) break
Was macht next?
- Überspringt die aktuelle Iteration einer Schleife und macht mit der nächsten weiter./Beispiel: for(i in 1:5){ if(i==3) next
Was macht try()?
- Führt Code aus und fängt Fehler ab, ohne das Programm zu stoppen./Syntax: try(expr)/expr = Ausdruck, der ausgeführt werden soll/Beispiel: try(log("a")) → zeigt Fehler „nicht-numerisches Argument“, Programm läuft aber weiter.
Was macht tryCatch()?
- Fängt gezielt Fehler, Warnungen oder Nachrichten ab und erlaubt eigene Reaktion./Syntax: tryCatch(expr, error=function(e){...}, warning=function(w){...})/Beispiel: tryCatch(log("a"), error=function(e)"Fehler abgefangen") → gibt „Fehler abgefangen“ zurück.
Was macht warning()?
- Gibt eine Warnung aus, während das Programm weiterläuft./Syntax: warning("Text")/Beispiel: warning("Wert zu groß!") → zeigt Warnmeldung, Programm wird nicht beendet.
Was macht stop()?
- Beendet das Programm mit einer Fehlermeldung./Syntax: stop("Fehlermeldung")/Beispiel: stop("Ungültige Eingabe!") → führt sofortigen Abbruch aus.
Was macht debug()?
- Startet interaktives Debugging einer Funktion./Syntax: debug(fun)/fun = zu untersuchende Funktion/Beispiel: debug(mean) → bei Aufruf von mean() kannst du Schritt für Schritt durchgehen.
Was macht traceback()?
- Zeigt nach einem Fehler, welche Funktionsaufrufe dazu geführt haben (Call-Stack)./Syntax: traceback()/Beispiel: Nach einem Fehler → traceback() zeigt Aufrufreihenfolge der Funktionen.
Was macht browser()?
- Stoppt die Ausführung an dieser Stelle und erlaubt interaktive Inspektion der Variablen./Syntax: browser()/Beispiel: Innerhalb einer Funktion eingefügt → Code stoppt, Variablen können untersucht werden.
Was macht recover()?
- Öffnet interaktives Menü bei einem Fehler, um Aufrufebenen zu durchsuchen./Syntax: options(error=recover)/Beispiel: Nach Fehler → Auswahl der Funktionsumgebung möglich.
Was macht system.time()?
- Misst, wie lange ein Ausdruck zur Ausführung braucht./Syntax: system.time(expr)/expr = Code, der gemessen wird/Beispiel: system.time(Sys.sleep(1)) → zeigt etwa 1 Sekunde „elapsed“.
Was macht microbenchmark()?
- Misst sehr präzise die Laufzeit kurzer Ausdrücke über viele Wiederholungen./Syntax: microbenchmark(expr, times=n)/Beispiel: microbenchmark(sum(1:10), mean(1:10), times=100) → zeigt Mittelwerte der Laufzeit.
Was macht object.size()?
- Gibt den Speicherbedarf eines Objekts in Bytes an./Syntax: object.size(x)/Beispiel: object.size(1:100000) → ca. 800000 Bytes (~0.8 MB).
Was macht gc()?
- Startet den Garbage Collector, um ungenutzten Speicher freizugeben./Syntax: gc()/Beispiel: Nach großen Berechnungen sinnvoll, um RAM zu leeren.
Was macht Rprof()?
- Startet die Profilerstellung zur Analyse von Laufzeiten./Syntax: Rprof("file.out") → Code → Rprof(NULL)/Beispiel: summaryRprof("file.out") zeigt, in welchen Funktionen Zeit verbraucht wurde.
Was macht profvis()?
- Führt grafisches Profiling durch und zeigt Ergebnisse im Browser./Syntax: profvis({ Codeblock })/Beispiel: profvis({ for(i in 1:1e5) sqrt(i) }) → zeigt visuell, wo Zeit verbraucht wird.
Was macht eval()?
- Führt einen gespeicherten Ausdruck aus./Syntax: eval(expr)/expr = z. B. quote(1+2)/Beispiel: x <- quote(1+2)
Was macht quote()?
- Gibt einen Ausdruck unverarbeitet zurück (wird nicht ausgewertet)./Syntax: quote(expr)/Beispiel: quote(1+2) → Ausdruck „1 + 2“, kein Ergebnis.
Was macht parse()?
- Wandelt Text in einen auswertbaren R-Ausdruck um./Syntax: parse(text="...")/Beispiel: eval(parse(text="3*3")) → 9.
Was macht deparse()?
- Wandelt einen Ausdruck in Text um (Umkehr von parse())./Syntax: deparse(expr)/Beispiel: deparse(quote(x+1)) → "x + 1".
Was macht substitute()?
- Gibt den Originalausdruck zurück, ohne ihn auszuwerten./Syntax: substitute(expr)/Beispiel: substitute(x+1) → Ausdruck „x + 1“.
Was macht match.call()?
- Zeigt, wie eine Funktion tatsächlich aufgerufen wurde (inkl. Argumente)./Syntax: match.call()/Beispiel: f<-function(a,b)match.call()
Wie funktioniert das Argument ... (Ellipsis)?
- Ermöglicht, beliebig viele Argumente an eine Funktion weiterzugeben./Syntax: function(...){ list(...) }/Beispiel: f<-function(...){print(list(...))}
Was macht on.exit()?
- Führt Code am Ende einer Funktion immer aus – auch bei Fehlern./Syntax: on.exit(expr)/Beispiel: con<-file("test.txt")
Was macht stopifnot()?
- Prüft Bedingungen und stoppt mit Fehler, wenn eine nicht erfüllt ist./Syntax: stopifnot(Bedingung)/Beispiel: stopifnot(2>1) → ok
Was macht save()?
- Speichert Objekte im Binärformat (.RData)./Syntax: save(obj, file="data.RData")/Beispiel: save(df, file="data.RData") → erstellt Datei data.RData.
Was macht load()?
- Lädt gespeicherte RData-Datei und stellt Objekte wieder her./Syntax: load("data.RData")/Beispiel: Nach load("data.RData") ist df wieder verfügbar.
Was macht write.csv()?
- Speichert Dataframe als Textdatei im CSV-Format./Syntax: write.csv(df, "datei.csv")/Beispiel: write.csv(mtcars, "autos.csv") → CSV-Datei mit Tabelleninhalt.
Was macht serialize()?
- Wandelt Objekt in binäres Format um (z. B. für Übertragung oder Speicherung)./Syntax: serialize(obj, connection)/Beispiel: raw <- serialize(1:5, NULL) → gibt binäre Rohdaten zurück.
Was macht unserialize()?
- Stellt ein serialisiertes Objekt wieder her./Syntax: unserialize(rawdata)/Beispiel: unserialize(serialize(1:5,NULL)) → (1,2,3,4,5).
Was macht sink()?
- Leitet Konsolenausgabe in eine Datei um./Syntax: sink("log.txt") → Code → sink()/Beispiel: sink("ausgabe.txt")
Was macht capture.output()?
- Fängt Konsolenausgabe als Zeichenvektor ab./Syntax: capture.output(expr)/Beispiel: x <- capture.output(summary(1:3)) → enthält Textausgabe als String.
Was macht attach()?
- Hängt einen Dataframe an den Suchpfad an, sodass Spalten direkt nutzbar sind./Syntax: attach(df)/Beispiel: attach(mtcars)
Was macht with()?
- Führt Code im Kontext eines Dataframes aus (temporär)./Syntax: with(df, expr)/Beispiel: with(mtcars, mean(mpg)) → Mittelwert der Spalte mpg.
Was macht source()?
- Führt ein externes R-Skript aus, als wäre der Code getippt worden./Syntax: source("skript.R")/Beispiel: source("funktionen.R") → lädt und führt alle Befehle aus.
Was macht identical()?
- Prüft, ob zwei Objekte vollständig gleich sind (inkl. Typ & Attribute)./Syntax: identical(a,b)/Beispiel: identical(1,1L) → FALSE, weil numeric ≠ integer.
Was macht all.equal()?
- Prüft numerische Gleichheit mit Toleranz (≈ für floats)./Syntax: all.equal(x,y)/Beispiel: all.equal(0.1+0.2, 0.3) → TRUE, trotz Rundungsfehler.
Was macht trace()?
- Fügt vorübergehend Debug-/Logik-Code in eine Funktion ein./Syntax: trace(fun)/Beispiel: trace(mean) → zeigt Meldung bei jedem Aufruf von mean().
Wie entfernt man trace()?
- Entfernt eingefügten Trace-Code./Syntax: untrace(fun)/Beispiel: untrace(mean) → entfernt Tracing von mean().
Was macht replace()?
- Ersetzt bestimmte Werte in einem Vektor nach Bedingung./Syntax: replace(x, condition, values)/Beispiel: x<-c(-1,2,-3)
Was macht sub()?
- Ersetzt den ersten Treffer eines Musters im Text durch einen neuen Wert./Syntax: sub(pattern, replacement, x)/Beispiel: sub("a","A","banana") → "Banana".
Was macht gsub()?
- Ersetzt alle Treffer eines Musters (global)./Syntax: gsub(pattern, replacement, x)/Beispiel: gsub("a","A","banana") → "BAnAnA".
Was ist ein numeric-Typ in R?
- Repräsentiert reelle Zahlen (mit Nachkommastellen)./Beispiel: x <- 3.14 → class(x) gibt "numeric" zurück.
Was ist ein integer-Typ in R?
- Ganze Zahl (ohne Nachkommastellen)./Erzeugung mit L-Suffix oder as.integer()./Beispiel: x <- 5L → class(x) gibt "integer" zurück.
Was ist ein character-Typ in R?
- Text- oder Zeichenkette (Strings)./Syntax: Zeichen in Anführungszeichen./Beispiel: name <- "Anna" → class(name) = "character".
Was ist ein logical-Typ in R?
- Wahrheitswert: TRUE oder FALSE./Oft Ergebnis logischer Vergleiche./Beispiel: x <- 5>3 → TRUE → class(x) = "logical".
Was ist ein factor in R?
- Kategorialer Datentyp mit festen Ausprägungen (Levels)./Wird oft für nominale Variablen in Modellen genutzt./Beispiel: f <- factor(c("rot","blau","rot")) → Levels: blau, rot.
Was ist ein complex-Typ in R?
- Komplexe Zahl mit Real- und Imaginärteil./Syntax: a + bi (i = sqrt(-1))./Beispiel: z <- 3+2i → class(z) = "complex".
Was ist ein raw-Typ in R?
- Binärdaten (Byte-Darstellung)./Wird selten direkt verwendet./Beispiel: raw(3) → drei leere Bytes 00.
Was ist der Unterschied zwischen numeric und integer?
- numeric speichert Dezimalwerte, integer nur ganze Zahlen./Beispiel: 2 ist numeric, 2L ist integer.
Was ist der Unterschied zwischen factor und character?
- factor hat feste Levels und Reihenfolge (kategorial), character ist freier Text./Beispiel: factor(c("A","B")) vs. c("A","B").
Wie prüft man den Datentyp in R?
- Mit class(x), typeof(x) oder is.*()-Funktionen./Beispiel: is.numeric(3.14) → TRUE, is.character("a") → TRUE.
Wie wandelt man Datentypen um?
- Mit as.numeric(), as.character(), as.logical(), as.factor(), as.integer()./Beispiel: as.numeric("5") → 5.
Last changed2 months ago