Jämföra inläsningstider för CSV- och RDS-filer
En av de vanligaste uppgifterna vi utför är att läsa in data från CSV-filer. För stora CSV-filer kan det dock gå långsamt.
Ett smidigt knep är att läsa in datan och spara den som en binär R-fil (rds) med hjälp av saveRDS().
För att läsa in rds-filen använder du readRDS().
Obs: Eftersom rds är R:s eget format för att lagra enskilda objekt, undviker du beroenden till tredjepartspaket som kan förändras i framtiden.
För att jämföra de två metoderna kan du använda system.time().
Den här funktionen returnerar den tid det tar att evaluera ett R-uttryck. Om du till exempel vill mäta hur lång tid det tar att beräkna kvadratroten ur talen ett till tio miljoner skriver du följande:
system.time(sqrt(1:1e7))
Den här övningen är en del av kursen
Effektiv R-kod
Övningsinstruktioner
Filerna "movies.csv" och "movies.rds" innehåller båda identiska dataramar med information om 45 000 filmer.
- Använd funktionen
system.time()för att mäta hur lång tid det tar att läsa in CSV-filen medread.csv("movies.csv"). - Upprepa samma steg för rds-filen,
"movies.rds", med hjälp avreadRDS().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# How long does it take to read movies from CSV?
system.time(read.csv(___))
# How long does it take to read movies from RDS?
___