LoslegenKostenlos starten

Lesezeiten von CSV- und RDS-Dateien vergleichen

Eine der häufigsten Aufgaben ist das Einlesen von Daten aus CSV-Dateien. Bei großen CSV-Dateien kann das jedoch langsam sein. Ein praktischer Trick ist, die Daten einzulesen und als R-Binärdatei (rds) mit saveRDS() zu speichern. Zum Einlesen der rds-Datei verwenden wir readRDS().

Hinweis: Da rds R's natives Format zum Speichern einzelner Objekte ist, führst du keine Drittanbieter-Abhängigkeiten ein, die sich später ändern könnten.

Um die beiden Ansätze zu benchmarken, kannst du system.time() verwenden. Diese Funktion gibt die Zeit zurück, die zur Auswertung eines beliebigen R-Ausdrucks benötigt wird. Um beispielsweise zu messen, wie lange es dauert, die Quadratwurzel der Zahlen von eins bis zehn Millionen zu berechnen, würdest du Folgendes schreiben:

system.time(sqrt(1:1e7))

Diese Übung ist Teil des Kurses

<Kurs>Effizient R-Code schreiben</Kurs>
Kurs ansehen

Übungsanweisungen

Die Dateien "movies.csv" und "movies.rds" enthalten identische Data Frames mit Informationen zu 45.000 Filmen.

  • Verwende die Funktion system.time(): Wie lange dauert es, die CSV-Datei mit read.csv("movies.csv") einzulesen?
  • Wiederhole das für die rds-Datei "movies.rds" mit readRDS().

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# How long does it take to read movies from CSV?
system.time(read.csv(___))

# How long does it take to read movies from RDS?
___
Code bearbeiten und ausführen