始める無料で始める

CSV と RDS ファイルの読込時間を比較する

最もよく行う作業のひとつが、CSV ファイルからデータを読み込むことです。しかし、大きな CSV ファイルでは時間がかかることがあります。 便利な方法として、データを読み込んだら R のバイナリファイル(rds)として saveRDS() で保存しておく手があります。 保存した rds ファイルは、readRDS() で読み込みます。

注意: rds は単一オブジェクトを保存するための R のネイティブ形式なので、将来変更されるかもしれないサードパーティ依存は追加されません。

2 つの方法をベンチマークするには、system.time() を使います。 この関数は、任意の R 式を評価するのにかかった時間を返します。例えば、1 から 1,000 万までの数の平方根を計算するのに要する時間を測るには、次のように書きます。

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

この演習はコースの一部です

効率的なRコードの書き方

コースを見る

演習の手順

"movies.csv""movies.rds" には、いずれも 45,000 本の映画に関する同一のデータフレームが入っています。

  • system.time() 関数を使って、read.csv("movies.csv") で CSV ファイルを読み込むのにかかる時間を測ってください。
  • 同様に、readRDS() を使って rds ファイル "movies.rds" を読み込む時間も測ってください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

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

# How long does it take to read movies from RDS?
___
コードを編集して実行