これが必要になった実際のケースは,次のようなものでした。
- Web調査で複数の調査票を用意し,調査後にそれぞれダウンロードしたから,同じ内容の調査票なのに複数のデータファイルができてしまった。
- 二相三元データを収集したので,二相データが複数のファイルに分かれて入っている
- エクセルの各シートに実験状況ごとのデータを分けて保存しちゃいました
まあ他にも,実務的なシーンでこういうことがあるかもしれない。データはあるフォルダに集めてあるんだけど,ファイル名の統一もないし,とにかく全部読み込みたいんだけど,というような。
アルゴリズムの確認
やるべきことを確認しておきましょう。
- 目指すフォルダのファイルリストを収集する
- 繰り返し読み込む
- 整形する
です。次のようなコードで実行できます。
list.files("dataset/", full.names = T) %>%
purrr::map(read_csv) %>%
dplyr::tibble() %>%
dplyr::rename(rawdata = ".") %>%
tibble::rowid_to_column("ID")
私がpurrr::mapを使ったのはこれが初めて。このときやっと「便利だなあ」と理解しましたよ。
こんな感じで,自分のTips,こんなバグをこうやって解決したよ,というような話を,よろしければ皆さんもお寄せください。
出題編はこちらです。
あるいは「こちらの解法のほうが美しいぞ」というのがありましたら,コメントいただけると幸いです。