『【RStudio】RStudioを使う』シリーズでは、RStudioを使ってデータの統計処理、グラフの描画をしていきます。
第三弾の今回は、「ディレクトリ内のファイルリストを取得する」をしていきます。
ついでに、ディレクトリ内のファイルの拡張子を指定して開けるようにしてしまいましょう。
RStudioを使う#2で書いたフローチャートで言うとこの部分です。
RStudioのインストール方法はこちらをご覧ください。
Rでディレクトリ内のファイルリストを取得する
ディレクトリ内にあるファイルに対して操作をするときに、必ずといって良いほどしておいた方が良いのは「ファイルリストを取得する」ことです。
今いるディレクトリ(カレントディレクトリ)内にどんなファイルがあるのか読み込んでおくことで、そのファイルを読み込んだり操作したりプログラムの上で簡単にできるようになるのです。
ImageJマクロでも同じようなことをしています↓
Rでファイルリストを取得する関数"list.files"
Rでファイルリストを取得する関数は、"list.files"です。
関数をどうやって使ったら良いか、RStudio上で見ることができるのでその方法をご紹介します。
list.filesの使い方を簡単にまとめると...
では実際に使ってみましょう。
これ以降の作業をするために、取得したファイルリストは変数(filelist)に入れておきます。
ファイルリストの中からcsvファイルだけを取ってくる
ファイルリストを取得して何をするかと言えば、ImageJマクロで解析したcsvファイルを開いて計数データを読み込みたいんでした。
そこでファイルリストの中からcsvファイルを指定して、csvファイルを取得するをしていきましょう。
RStudioを使ったcsvファイルの読み込み方はこちら
ファイルリストの中で".csv"という文字列が入っているものを探すために"grep"関数を使います。
"grep"関数を使ってみましょう。
grep関数を使って出力された結果をもとに、csvファイルの名前の取得をしてみます。
手順としては、
- grep関数を使って出力された結果を変数(csv)に入れる(数字の列のまとまり)
- 変数のなかの何番目の結果を表示させたいかを指定する
※Rは1から始まるので注意です!(ImageJマクロは0から始まります) - "filelist"の中の何番目かを指定する
です。コードはこちら↓
csvファイルの名前が取得できたら"read.csv"を使って読み込んでみましょう。
コンソール画面に打ち込んでいるので実行するとすぐ下に結果が出力されています。
と言うことで、今回は「選んだディレクトリ内のファイルリストを取得してcsvファイルだけを開いていく」ができるようになりました。
次回は、「for文を使って計数データを整えていく」をしていきます。
『RStudioを使うシリーズ』の他の記事はこちら