8章 readrによるデータインポート

8.0 ライブラリーの読み込み

library("tidyverse")

8.1 はじめに

練習問題はありません

8.2 作業をはじめるにあたって

練習問題1 フィルードが「」で区切られたファイルを読み込むには、どの関数を使うのか。

read_delim()を使用します。delimitationの頭文字の引数であるdelimに区切り文字を指定します。詳しくはこちらに記載されています。

read_delim(file, delim = "|")

練習問題2 read_csv()read_tsv()の共通引数は何か。

formals()で引数の一覧を取得し、共通部分をintersect()で抽出します。

intersect(names(formals(read_csv)), 
          names(formals(read_tsv)))

[1] "file"            "col_names"       "col_types"       "locale"         
[5] "na"              "quoted_na"       "quote"           "comment"        
[9] "trim_ws"         "skip"            "n_max"           "guess_max"      
[13] "progress"        "skip_empty_rows"

練習問題3 read_fwf()で最も重要な引数は何か。

read_fwf()の重要な引数はcol_positionsです。「固定幅フォーマット」のデータ列の開始位置と終了位置を関数に指定することです。

練習問題4 "x,y\n1,'a,b'"という文字列を読み込むにはどうすればよいか。

read_csv()でそのまま読み込むと、文字列のカンマで区切られてしまい、正しく読み込めません。したがって、quote'を指定し、文字列を認識させます。

練習問題5 下記の文字列のどこがまいずのかを示しなさい。

この場合、カラム名と値の列数が一致しておらず、カラム数に合わせて、列がなくなってしまいます。

データ内の列数とカラムの列数と一致していません。1行目には2つの値しかないので、column cはmissingに設定され、2行目には追加の値があり、その値はドロップされます。

"1を閉じている部分かな…よくわからない。

これを読み込むには、read_delim()delim = ";"を指定します。

8.3 ベクトルをパースする

練習問題1 locale()で最も重要な引数は何か。

locale()には、以下を設定するための引数があります。

  • 日付時刻形式:date_namesdate_format、およびtime_format

  • タイムゾーン: tz

  • マーク:decimal_markgrouping_mark

  • エンコーディング: encoding

練習問題2 decimal_mark,に設定するとgrouping_markに何が起こるのか。

decimal_mark,に設定されている場合、グループ化マークは.が設定されます。同じにはできません。

decimal_mark = ","は下記の設定となります。

grouping_mark = ","は下記の設定となります。

練習問題3 date_formattime_formatlocale()の役割について教えなさい。

デフォルトの日付と時刻のフォーマットを提供します。

練習問題4 米国外に住んでいる場合は、最もよく読むファイルの種類の設定をカプセル化した新しいロケールオブジェクトを作成しなさい。

ここでは日本を例に考える。"%Y年%m月%d日"が一般的なフォーマットなので、これを読む込むためのjp_localeを設定します。

練習問題5 read_csv()read_csv2()の違いについて教えなさい。

read_csv()はカンマを区切り文字としており、read_csv2()は、セミコロン(;)を使用します。

練習問題6 ヨーロッパまたはアジアで使用されている最も一般的なエンコーディングは何ですか。

標準はUTF-8、日本語独特なものとして、JIS X 0208、シフトJIS、ISO-2022-JPなどがある。エンコーディングの詳細は、いまいちわかってません。

練習問題7 次の文字列を解析する正しいフォーマット文字列を作りなさい。

8.4 ファイルをパースする

練習問題はありません

8.5 ファイルへの書き出し

練習問題はありません

8.6 他の種類のデータ

練習問題はありません

最終更新

役に立ちましたか?