我试图修改和通过首先定义一个函数重新定义的函数在R包
my.xcmsRaw <- function(filename, profstep = 1, profmethod = "bin",
profparam = list(mzcorrf=1), # PATCH - mzcorrf is the m/z correction factor, e.g. 0.99888 for long-chain hydrocarbons
includeMSn = FALSE, mslevel=NULL,
scanrange=NULL) { ... }
然后键入
unlockBinding("xcmsRaw", as.environment("package:xcms"))
assign("xcmsRaw", my.xcmsRaw, as.environment("package:xcms"))
lockBinding("xcmsRaw", as.environment("package:xcms"))
然而,当重新定义中的R包。LCMS一个函数(xcmsRaw)我运行它,它给我造成它没有找到profBinM功能,这是一个C代码本功能的错误
Error in get(as.character(FUN), mode = "function", envir = envir) :
object 'profBinM' of mode 'function' was not found
在xcms软件包的文件xcms.c中定义。
有关如何解决此问题的任何想法? (我的工作在Windows 7下,,使用R版本3.0.0)
您是否尝试过'assignInNamespace()',例如[this example](http://stackoverflow.com/questions/15505607/diagonal-labels-orientation-上x轴合热图/ 15506652#15506652)?在你的情况下,你会使用'assignInNamespace(x =“xcmsRaw”,value =“my.xcmsRaw”,ns = asNamespace(“xcms”))''。 – 2013-05-01 12:18:33
感谢您的建议,只是试过,但它仍然给我同样的错误不幸... – 2013-05-01 12:21:16
有趣的。只是要精确/清楚,'profBinM()'是一个R函数包装一个C函数。 – 2013-05-01 12:30:41