Porównanie czasu wczytywania plików CSV i RDS
Jednym z najczęściej wykonywanych zadań jest wczytywanie danych z plików CSV. W przypadku dużych plików może to jednak trwać dość długo.
Praktycznym rozwiązaniem jest wczytanie danych i zapisanie ich jako binarny plik R (rds) za pomocą funkcji saveRDS().
Aby wczytać plik rds, korzystamy z funkcji readRDS().
Uwaga: Format rds jest natywnym formatem R do przechowywania pojedynczych obiektów, więc nie wprowadzasz żadnych zewnętrznych zależności, które mogłyby się zmienić w przyszłości.
Do porównania obu podejść możesz użyć funkcji system.time().
Zwraca ona czas potrzebny do obliczenia dowolnego wyrażenia w R. Na przykład, aby zmierzyć, ile czasu zajmuje obliczenie pierwiastka kwadratowego z liczb od jednego do dziesięciu milionów, napisz:
system.time(sqrt(1:1e7))
To ćwiczenie jest częścią kursu
Wydajny kod w R
Instrukcje do ćwiczenia
Pliki "movies.csv" i "movies.rds" zawierają identyczne ramki danych z informacjami o 45 000 filmów.
- Używając funkcji
system.time(), sprawdź, ile czasu zajmuje wczytanie pliku CSV za pomocąread.csv("movies.csv"). - Powtórz to samo dla pliku rds
"movies.rds", używając funkcjireadRDS().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# How long does it take to read movies from CSV?
system.time(read.csv(___))
# How long does it take to read movies from RDS?
___