Ho provato a modificare e ridefinire una funzione (xcmsRaw) in XCMS pacchetto R definendo prima funzioneRidefinire una funzione in un pacchetto 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) { ... }
e digitando
unlockBinding("xcmsRaw", as.environment("package:xcms"))
assign("xcmsRaw", my.xcmsRaw, as.environment("package:xcms"))
lockBinding("xcmsRaw", as.environment("package:xcms"))
Tuttavia, quando l'eseguo mi dà l'errore
Error in get(as.character(FUN), mode = "function", envir = envir) :
object 'profBinM' of mode 'function' was not found
causata da non trovando la funzione profBinM, che è un codice C funct ione definito nel file xcms.c del pacchetto xcms.
Ogni pensiero su come avrei potuto risolvere questo problema? (Sto lavorando sotto Windows 7, utilizzando R versione 3.0.0)
hai provato 'assignInNamespace()', come in, ad esempio, [questo esempio] (http://stackoverflow.com/questions/15505607/diagonal-labels-orientation- on-asse x-in-heatmaps/15506652 # 15506652)? Nel tuo caso, useresti qualcosa come 'assignInNamespace (x =" xcmsRaw ", value =" my.xcmsRaw ", ns = asNamespace (" xcms "))'. –
Grazie per il suggerimento, ho appena provato, ma purtroppo mi dà lo stesso errore, purtroppo ... –
Interessante. Giusto per essere precisi/chiari, 'profBinM()' è una funzione R che racchiude una funzione C. –