2013-07-23 18 views
2

我想用fmatch()替換默認的match()函數,它更快。以下代碼在R控制檯中工作如何在Rprofile.site中用fmatch()替換match()?

match<-fmatch 

unlockBinding('match', baseenv()) 
assign("match", fastmatch::fmatch, envir = baseenv()) 

但是,當我將任意一段代碼放入Rprofile.site中時,它總是給出錯誤。有人對此有經驗嗎?

回答

2

將代碼放入.First函數中,並將其保存在用戶目錄中的默認工作區文件.Rdata中。

.First <- function() 
{ 
    ## Unless you unlock the binding, you can't change 
    ## an object in a locked namespace. 
    unlockBinding('match', baseenv()) 
    assign("match", fastmatch::fmatch, envir = baseenv()) 
} 
+0

除非您解除綁定,否則您無法更改鎖定名稱空間中的對象。 –

+0

謝謝+1!我將其添加爲評論。 – agstudy

+0

你能否解釋一下爲什麼'.RData'工作,而'Rpfofile.site'沒有? – baidao