R に組み込みの read.csv()
という関数がありますが,readr::read_csv()
の方が使いやすく改良されていて,高速に動作します。
tibble はデータフレームを改善するために提案されたデータ保持形式で,tibble というパッケージで定義されています。基本的にはR の基本のデータフレームと同様の使い方ができます。
tibble を使うためには,パッケージ tibble を読み込むか,tidyverse というパッケージ群を読み込みます。 パッケージの読み込みには library()
という関数を使います
readrパッケージの専用関数でファイルを読み込む場合、各列の読み込みの型を関数のオプションとして指定できます。データ型の指定は、col_typesで指定します。簡単に指定できる省略記法もあります。必要な列だけ指定することができます。
型を指定する方法
ファイルを読み込むとき、各列の読み込みの型をcol_typesオプションで、データ型をリストで順番に指定します。文字列col_charactor()整数col_integer()実数col_double()列を読み込まないcol_skip()
他にも、時間・日付・ファクターなどのデータ型を明示的に指定することができます。
1: $ cat test.tsv 2: name data1 data2 3: aaa 1 1.0 4: bbb 2 2.0 5: ccc 3 3.0
1: > test_data <- read_tsv("test.tsv", col_types = list(col_character(), col_integer(), col_double())) 2: 3: > test_data 4: # A tibble: 3 x 3 5: name data1 data2 6: <chr> <int> <dbl> 7: 1 aaa 1 1 8: 2 bbb 2 2 9: 3 ccc 3 3
省略して指定する方法
col_typesオプションでよく使う省略記法です。文字列で指定します。文字列“c”整数“i”実数“d”日付“D”列を読み込まない“_”
上記と同じサンプルを読み込んだ場合、キャラクター・整数・実数の順に列を読み込む場合は、”cid”と指定します。
1: >test_data <- read_tsv("test.tsv", col_types = "cid") 2: 3: > test_data 4: # A tibble: 3 x 3 5: name data1 data2 6: <chr> <int> <dbl> 7: 1 aaa 1 1 8: 2 bbb 2 2 9: 3 ccc 3 3
必要な列だけ指定する方法
必要な列のみ指定したい場合は、col_typesオプションで列名指定します。
1: >test_data <- read_tsv("test.tsv", col_types = cols(data1 = col_integer())) 2: 3: > test_data 4: # A tibble: 3 x 3 5: name data1 data2 6: <chr> <int> <dbl> 7: 1 aaa 1 1 8: 2 bbb 2 2 9: 3 ccc 3 3
コメント