フルパスパターンに一致するファイルのリストを取得しようとしています。これまでのところ、 list.files() を使用しましたが、機能しませんでした。
次のディレクトリ構成があるとします。
results
|- A
| |- data-1.csv
| |- data-2.csv
|
|- B
|- data-1.csv
|- data-2.csv
次に、次のコマンドを実行します。
list.files(pattern='data-.*\\.csv', recursive=TRUE)
パターンに一致するすべてのファイルを返します。これは機能しますが、フルパスパターンを使用すると問題が発生します。たとえば、ディレクトリresults/Aからすべての CSV ファイルを取得する場合は、次のようにします。
list.files(pattern='results/A/data-.*\\.csv', recursive=TRUE)
ただし、これは機能しません。どういうわけか、R はフルパス パターンを正規表現として使用できないようです。この場合の解決策は、results/Aをベース パスとして使用することです。しかし、より複雑な問題では、それはできません。たとえば、ある時点で、文字のみを含むサブディレクトリを一致させたい場合があります。
list.files(pattern='results/[A-Z]+/data-.*\\.csv', recursive=TRUE)
Rでこれを行うことは可能ですか?
更新:アドホック ソリューションをしばらく使用した後、同じことを何度も入力するのをやめることにしました。そこで、この作業を簡素化するためのライブラリを作成しました。