运行R脚本时出错

时间:2012-08-11 19:58:05

标签: r

当我运行我的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")

1 个答案:

答案 0 :(得分:3)

完全重写我的答案,因为the first version错过了相关的观点。

当您阅读此类错误消息时,对traceback()的调用会告诉您 发生错误的位置。在这种情况下,它很可能会识别find.package函数,该函数以某种方式从library函数调用。它从包名称构造路径名,并不转义包名称。因此,在正则表达式中具有特殊含义的符号(可能是反斜杠)将使此正则表达式无效,从而显示错误消息。

原因是您尝试使用其中一个文件的完整路径名加载库。 库仅按包名加载(在您的情况下很可能是library(mzmatch))。您可以使用source("C:\\some\\path")从给定路径加载和执行R源代码,但我不建议对已安装的库执行此操作。