0

R スクリプトを実行すると、次のエラーが表示されます。

Error in list.files(lib, pattern = paste0("^", pkg, "$"), full.names = TRUE) : 
  invalid 'pattern' regular expression

このエラーはどういう意味ですか? スクリプトへのリンクは次のとおりです。http://mzmatch.sourceforge.net/metabolomics/Processing_Code.R

しかし、最初にいくつかの行を変更しました。

library ("D:\\java projects\\RScriptRunning\\R\\win-library\\2.15\\mzmatch.R")
mzmatch.init (6000)
setwd ("D:\\R_Script\\raw")
4

1 に答える 1

3

最初のバージョンが関連するポイントを逃したため、私の回答を完全に書き直しました。

このようなエラー メッセージを読むと、 を呼び出すと、エラーが発生した場所traceback()がわかります。この場合、何らかの形で関数から呼び出された関数を識別する可能性が最も高いでしょう。パッケージ名からパス名を構築し、パッケージ名をエスケープしません。そのため、正規表現で特別な意味を持つ記号 (おそらくバックスラッシュ) は、この正規表現を無効にするため、エラー メッセージが表示されます。find.packagelibrary

その理由は、ファイルの 1 つのフル パス名を使用してライブラリをロードしようとするためです。ライブラリはパッケージ名のみでロードされます(おそらくlibrary(mzmatch)あなたの場合です)。を使用source("C:\\some\\path")して、特定のパスから R ソース コードを読み込んで実行できますが、インストール済みのライブラリに対してはお勧めしません。

于 2012-08-11T20:41:09.957 に答える