2016-12-06 4 views
0

Rパッケージで外部データとして使用する必要があるcsvファイルのリストがあります。私はsystem.file()を使用して、これらのCSVファイルを私のパッケージのビネットコードで利用できるようにしました。私はすぐにSOのRの正規表現の特徴を調べ、これを行うための初期のアイデアを得ました。しかし、私の機能は私にとっては効果的ではなく、代わりにinst/extdataディレクトリに現れたパターンをキャプチャしなかったのでエラーが出るので、出力にCSVファイルがありません。私は、すべてのCSVファイルをsystem.file()でキャプチャしてコンソールに出力したり、オブジェクトに保存したりできると期待しています。どのようにgetExtDatの問題を修正する方法を指摘することができますか? inst/extdataのすべてのCSVファイルを一致パターンでキャプチャし、Rセッションでプリントアウトするにはどうすればよいですか?複雑なパターンのcsvファイルを扱う効率的​​な方法はありますか?複雑なパターンのcsvファイルのリストをsystem.file()で取得する方法は?

私はSOに同様の質問をし、私のポストは正確に(古いポストが削除された)明記されていません。ここで私はまったく新しい修正を考え出す。

myPkg 
- inst 
    - extdata 
      - wgEncodeOpenChromChipK562CmycAlnRep1.csv 
      - wgEncodeOpenChromChipK562CmycAlnRep2.csv 
      - wgEncodeOpenChromChipK562CmycAlnRep3.csv 
      - wgEncodeSydhTfbsK562CmycIfna6hStdAlnRep1.csv 
      - wgEncodeSydhTfbsK562CmycIfna6hStdAlnRep2.csv 
      - wgEncodeSydhTfbsK562CmycIfna30StdAlnRep1.csv 
      - wgEncodeSydhTfbsK562CmycIfna30StdAlnRep2.csv 
      - wgEncodeSydhTfbsK562CmycIfng6hStdAlnRep1.csv 
      - wgEncodeSydhTfbsK562CmycIfng6hStdAlnRep2.csv 
      - wgEncodeSydhTfbsK562CmycIggrabAlnRep1.csv 
      - wgEncodeSydhTfbsK562CmycIggrabAlnRep2.csv 
      - wgEncodeSydhTfbsK562CmycStdAlnRep1.csv 
      - wgEncodeSydhTfbsK562CmycStdAlnRep2.csv 
- R 

私はsystem.fileを(使用する)での私のパッケージの使用のための私の外部データをロードする:おかげで助け

のためここでは私のパッケージに設定された私の外部データ、EXTDATAでCSVファイルのリストですビネットコードをパッケージ化する。すべてのcsvファイルに "wgEncode"パターンが表示されたためです。

私の所望の出力:すべてのCSVファイルinst/extdataには(system.fileによって検出される)とコンソール(またはオブジェクトに格納されている)に出力されなければならない:

出力

wgEncodeOpenChromChipK562CmycAlnRep1.csv 
wgEncodeOpenChromChipK562CmycAlnRep2.csv 
wgEncodeOpenChromChipK562CmycAlnRep3.csv 
wgEncodeSydhTfbsK562CmycIfna6hStdAlnRep1.csv 
wgEncodeSydhTfbsK562CmycIfna6hStdAlnRep2.csv 
wgEncodeSydhTfbsK562CmycIfna30StdAlnRep1.csv 
wgEncodeSydhTfbsK562CmycIfna30StdAlnRep2.csv 
wgEncodeSydhTfbsK562CmycIfng6hStdAlnRep1.csv 
wgEncodeSydhTfbsK562CmycIfng6hStdAlnRep2.csv 
wgEncodeSydhTfbsK562CmycIggrabAlnRep1.csv 
wgEncodeSydhTfbsK562CmycIggrabAlnRep2.csv 
wgEncodeSydhTfbsK562CmycStdAlnRep1.csv 
wgEncodeSydhTfbsK562CmycStdAlnRep2.csv 

または:

csvFile <- print(getExtDat) 

希望の出力を得るにはどうすればよいですか? system.file()をコンソールに使用して、すべてのcsvファイルをキャプチャするための私の機能を修正する方法はありますか?ありがとうございます。

+0

これは 'list.files(system.file( 'extdata'、package = 'package_name')、recursive = TRUE)と思われます。 –

+0

@PaulHiemstra私はこれを試しましたが、エラーが発生します:オブジェクトが見つかりません。 – Jerry

+0

'system.file( 'extdata'、package = 'package_name')'の出力は何ですか?これは、パッケージがインストールされているハードドライブ上のディレクトリへのフルパスでなければなりません。 –

答えて

0
allfiles <- list.files(system.file(package = 'package_name'), 
         recursive = TRUE) 
CSVfiles <- allfiles[grep("inst/extdata/+.*csv", allfiles)] 
CSVfiles 
+0

申し訳ありませんが、これは私が期待したものではありません。 – Jerry

関連する問題