当我运行我的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")
答案 0 :(得分:3)
完全重写我的答案,因为the first version错过了相关的观点。
当您阅读此类错误消息时,对traceback()
的调用会告诉您 发生错误的位置。在这种情况下,它很可能会识别find.package
函数,该函数以某种方式从library
函数调用。它从包名称构造路径名,并不转义包名称。因此,在正则表达式中具有特殊含义的符号(可能是反斜杠)将使此正则表达式无效,从而显示错误消息。
原因是您尝试使用其中一个文件的完整路径名加载库。 库仅按包名加载(在您的情况下很可能是library(mzmatch)
)。您可以使用source("C:\\some\\path")
从给定路径加载和执行R源代码,但我不建议对已安装的库执行此操作。