医療職からデータサイエンティストへスマートフォン用の表示で見る医療職からデータサイエンティストへ統計学、機械学習に関する記事をまとめています。RRでデータファイルを読み込むとき、{base}パッケージにはread.XXXという関数が備わっています。私もcsvファイルを読み込むときは、ずっとread.csvを使用していましたが、{readr}を使うともっと高速に、そして処理のしやすい形でデータを読みこむことができます!これを使いこなせば、データの読み込みでストレスを感じることはなくなるでしょう!{readr}は何が違うのか?練習データファイルの作成データセットの読み込み欠損値の扱い型を指定して読み込む行や列を飛ばして読み込む行のスキップ指定した列のみを読み込むまとめ参考{readr}は何が違うのか?{readr}には、Rの基本関数と比較して、以下のようなメリットがあります。上手く読み込めなかった場合はレポートしてくれる勝手に文字列をfactore型に変換しない良い込まれたデータはtibble型になる読み込む列や行、欠損値の指定が分かりやすいなどなど、{base}では力不足を感じていたことができるようになります。今回は、練習のために色々な型を含んだデータセットを作成しましょう。下記を実行すると、作業フォルダにpractice.csvというファイルが作成されます。10人分が変数として記録されています。欠損値もちらほらみられます。2700データセットの読み込みまずは普通に読み込んでみましょう。実際にやってみると分かりますが、文字がたくさん出てきて最初は驚きます。この読み込んだ後の文字には重要な情報が含まれているのです。col_character())この部分ですね。これは各列をどんな型で読み込んだのかが記されています。{readr}は最初の100行のデータから勝手に型を推測して、変換してくれます。なんと素晴らしい心遣い。今回は、Dayはcol_date、つまり日付情報、IDはcol_intergerで整数、その他はcol_character、文字で読み込まれています。ここで、Age、Salesは数値情報として読み込みたいのに文字になっていましました。データをよくみてみると、"才"と"NULL"が文字として入っているため文字列として推定されてしまったようです。欠損値の扱いこんな時にna=を指定することで、欠損値として扱う文字を指定して読み込むことができます。ちなみにデフォルトはna=NAとなっているので、SexのNAは欠損値として処理されています。0それでは、欠損として扱う文字列をNAとNULLの二つを指定して読み込んでみましょう。2700Salesを見てみるとNULLが欠損として扱われたため、しっかりと整数として読み込まれています。型を指定して読み込むさて、今度は自分で型を指定してデータを読み込んでみましょう。列を読まないなどがあります。IDは文字で、Ageは才が含まれているのでnumberで指定してみます。col_type=cols(列名=型)と指定します。2700上手く読み込めました。specification:~は出てこないようですね。型)を指定すると、指定した列以外の列はその型で読み込まれます。col_guess()となっているので、勝手に推測されていたたんですね。さっきの型リストを見て頂くとかっこの中に文字があるのがわかると思います。実はこの一文字で指定することもできるんです。2700ccdddnなどと文字を並べるだけで、列名を指定しなくても型を指定できたりもします。failure.が出ました。これは整数で指定したAgeに”才”が入っているため整数に変換でず、欠損値になりましたという意味です。problemsを実行すると、2行目のAgeが変換できなかったことをご丁寧にレポートしてくれます。'practice.csv'優しすぎます!行や列を飛ばして読み込む今度は行や列をスキップして読み込んでみましょう。列のスキップは先ほど実行しましたので、指定した列のみを読み込むことにします。行のスキップ行のスキップは、skip=行で行います。27001行目をスキップすると1行目の値を列名として認識してしまうので、col_names=FALSEを指定しました。ちなみにここに列目を任意でつけることもできます。n_maxを指定すると任意の行数までを読み込んでくれます。NA指定した列のみを読み込む列のスキップではなく、指定した列のみを読み込む時にはcol_types=cols()の代わりにcol_types=cols_only()を指定します。cols_onlyでも同様に型の指定ができます。上手く読み込めたみたいです!まとめ今回は高速かつ優しい心遣いまでしてくれる{readr}を紹介しました。Science上記サイトの和書版です。dplyrやpurrr、tidyrなどモダンなパッケージをまとめたtidyverseを中心に、データの解析手法そのものよりも、いかに効率よくデータを解析するかが書かれています。20:43データの読み込みは{readr}にお任せをTweet関連記事2020-01-08時系列予測パッケージ{prophet}を使って、ブログアクセス数を予測する。はてなブログPro大学院で疫学統計を学んでいます。データサイエンティストを目指して、初心者目線から統計学、機械学習など学んだことをまとめていきます。パッケージ{prophet}を使って、ブログアクセス数を予測する。medi_data0826スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。