2012-07-27 155 views
7

可能重複:
Masked functions in R
R: Masked Functions
function naming conflicts兩個函數具有相同的名稱中的R

如果我有兩個包:A和B.假設有一個名爲功能B中有funfun,B中也有函數funfun。當我加載A和B時,我該如何使用第一個funfun

require(A) 
require(B) 

如果我想在A中使用funfun,該怎麼寫?

+1

一些附近的重複項:http://stackoverflow.com/questions/2842120/masked-functions-in-r,http://stackoverflow.com/questions/4879377/r-masked-功能,http://stackoverflow.com/questions/9337716/how-do-i-use-functions-in-one-r-package-masked-by-another-package – Andrie 2012-07-27 08:40:40

回答

10

可以explictily指像這樣的包裝和功能組合:

A::funfun 
B::funfun 

在特殊情況下,您可能需要指的是未在命名空間中導出的函數,在這種情況下你需要使用:

A:::funfun 
B:::funfun 

(不過,這將是不尋常的,而且由於非導出函數不構成包API的一部分,這些功能可能會更改,恕不在潛艇警告通常會發佈一個包)。

+2

如果功能導出,您可能只需要使用'::'。 – 2012-07-27 07:47:28

+3

+1嚴格來說,':::'允許訪問不在包名稱空間中導出的函數 - 這不是大多數用戶應該做的事情。因爲我認爲使用'::'更合適,所以我編輯了答案。 – Andrie 2012-07-27 08:36:38

相關問題