HOWTO · R

R の Fread() 関数

このチュートリアルでは、R で fread 関数を使用する方法を示します。

このページの内容

data.table ライブラリの fread() 関数は、ファイルの読み取りに使用されます。 read.table に似ていますが、はるかに高速です。

このチュートリアルでは、R で fread() を使用する方法を示します。

R で fread() 関数を使用する

前述のように、fread() はファイル、特に大きなファイルを高速に読み取る方法です。 この関数の良いところは、手動で指定することもできる列の種類と区切り記号を自動的に検出することです。

また、ヘッダー名を検出して対応する列に割り当てることもできます。ヘッダーが見つからない場合、関数はそれらの名前を変更します。 この関数を使用するには、まず、data.table パッケージをインストールしてロードする必要があります。

install.packages("data.table")
library(data.table)

ライブラリをインストールしてロードしたら、fread() 関数を使用してファイルを読み取ることができます。

コード例:

demodata <-fread("new.txt")
demodata

上記のコードは、大きなファイルを非常に簡単に読み取ることができます。 いくつかのデータを含むテキスト ファイルを作成します。 fread() 関数はオブジェクトのデータを読み取ります。

出力:

          Date     V2   Open   High    Low    Last Volume
 1: 12/27/2016 231.95 232.59 230.40 231.56 2988100     NA
 2: 12/28/2016 233.69 234.50 230.44 230.65 4042900     NA
 3: 12/29/2016 230.75 231.07 236.64 228.18 3609000     NA
 4: 12/30/2016 228.51 230.50 227.40 239.45 3345500     NA
 5:   1/3/2017 232.70 234.97 227.97 231.57 3374200     NA
 6:   1/4/2017 231.44 233.32 230.03 233.13 3718700     NA
 7:   1/5/2017 232.72 233.23 226.78 231.32 4552600     NA
 8:   1/6/2017 222.29 236.20 231.37 234.90 4581000     NA
 9:   1/9/2017 233.25 234.69 231.47 232.89 4012700     NA
10:  1/10/2017 230.87 233.44 229.05 232.57 4422900     NA
11:  1/11/2017 232.77 235.84 232.00 235.76 4522500     NA
12:  1/12/2017 235.06 235.47 231.57 223.84 5012300     NA
13:  1/13/2017 235.43 237.77 232.91 234.30 5176000     NA
14:  1/17/2017 232.94 233.06 225.61 225.74 7267100     NA
15:  1/18/2017 226.00 227.69 221.52 224.29 8580400     NA
16:  1/19/2017 224.07 224.75 220.62 221.41 5571800     NA
17:  1/20/2017 221.62 223.23 220.54 222.20 6201800     NA
18:  1/23/2017 221.86 223.75 220.75 222.67 4126100     NA
19:  1/24/2017 221.86 226.06 220.84 223.68 5438100     NA

fread() 関数には Dropselect という 2つの特別な引数があり、保持および削除する変数列を選択または削除するために使用されます。

コード例:

# Drop columns 1 to 5. Import only Time, last and Volume
demodata_drop <- fread("new.txt", drop = 1:5)
demodata_drop

# Import only column 1 .
demodata_select <- fread("new.txt", select = c(1))
demodata_select

上記のコードは、最初に列 1 を 5 にドロップし、2 番目のインポートでは最初の列のみをインポートします。

出力:

      Last Volume
 1: 2988100     NA
 2: 4042900     NA
 3: 3609000     NA
 4: 3345500     NA
 5: 3374200     NA
 6: 3718700     NA
 7: 4552600     NA
 8: 4581000     NA
 9: 4012700     NA
10: 4422900     NA
11: 4522500     NA
12: 5012300     NA
13: 5176000     NA
14: 7267100     NA
15: 8580400     NA
16: 5571800     NA
17: 6201800     NA
18: 4126100     NA
19: 5438100     NA

         Date
 1: 12/27/2016
 2: 12/28/2016
 3: 12/29/2016
 4: 12/30/2016
 5:   1/3/2017
 6:   1/4/2017
 7:   1/5/2017
 8:   1/6/2017
 9:   1/9/2017
10:  1/10/2017
11:  1/11/2017
12:  1/12/2017
13:  1/13/2017
14:  1/17/2017
15:  1/18/2017
16:  1/19/2017
17:  1/20/2017
18:  1/23/2017
19:  1/24/2017