Zeilensummen berechnen
Der zweite identifizierte Flaschenhals war das Berechnen der Zeilensummen.
total <- apply(d, 1, sum)
In der vorherigen Übung hast du das zugrunde liegende Objekt in eine Matrix umgewandelt. Dadurch wird der oben gezeigte apply‑Aufruf drei Mal schneller.
Aber es gibt noch eine weitere Optimierung: Ersetze apply() durch rowSums().
Diese Übung ist Teil des Kurses
<Kurs>Effizient R-Code schreiben</Kurs>Übungsanweisungen
- Vervollständige die Funktion
r_sum()mitrowSums(). - Verwende die Funktion
microbenchmark(), um die Laufzeiten vonapp()undr_sum()zu vergleichen.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Example data
rolls
# Define the previous solution
app <- function(x) {
apply(x, 1, sum)
}
# Define the new solution
r_sum <- function(x) {
___(x)
}
# Compare the methods
microbenchmark(
app_sol = app(rolls),
r_sum_sol = ___
)