我最近發現由於軟件包之間的衝突可能導致錯誤,也就是說,兩個(或更多)軟件包可能具有類似命名的函數。我知道代碼search()
產生以R讀取它們的方式排列的軟件包列表。還有args
代碼,它提供R讀取的功能。
我首先想知道的是如何檢測由於包之間的衝突而產生的錯誤,以及如何找出哪些包發生衝突?最後,在發現衝突之後,我們如何強制R專門使用其中一個包的功能?在R中檢測軟件包之間的衝突
6
A
回答
7
正如@保羅說,連接(例如,通過library
功能)當一個包,你可能會得到:
> library("gdata", lib.loc="C:/Program Files/R/R-2.15.3/library")
gdata: read.xls support for 'XLS' (Excel 97-2004) files ENABLED.
gdata: read.xls support for 'XLSX' (Excel 2007+) files ENABLED.
Attaching package: ‘gdata’
The following object(s) are masked from ‘package:stats’:
nobs
The following object(s) are masked from ‘package:utils’:
object.size
當你得到「下面的對象被屏蔽」時,這意味着R對這些函數的調用被認爲是對新包中函數的調用,在我的示例gdata
中。
> nobs
function (object, ...)
UseMethod("nobs")
<environment: namespace:gdata>
> stats::nobs
function (object, ...)
UseMethod("nobs")
<bytecode: 0x0000000008a92790>
<environment: namespace:stats
希望幫助
+0
非常感謝Michele。這正是我需要的。 – Vara 2013-04-11 17:42:16
6
如果R加載一個新包,如果新包包含任何已經存在於工作環境中的函數,它將產生警告。所以如果你在包加載時注意,你可以看看是否有任何衝突。當有衝突,可以強制R來使用的功能,從一個特定的包是這樣的:
package_name::function_name
6
我認爲你正在尋找getAnywhere
它會告訴你它的參數存在於所有地方:
您可以通過避免這種情況。例如。 (在我當前的負載設置下):
Rgames> getAnywhere(logit)
2 differing objects matching ‘logit’ were found
in the following places
package:boot
package:pracma
namespace:boot
namespace:pracma
Use [] to view one of them
+0
感謝您的回答Carl,我不知道這段代碼。但是,我認爲這有助於您事先知道哪些參數衝突。 – Vara 2013-04-11 17:46:34
相關問題
- 1. 在Prolog中測試軟件包衝突
- 2. 檢測CCSprite之間的衝突
- 3. 解決軟件包衝突
- 4. 軟件包和類之間的名稱衝突。 Eclipse或javac中的錯誤?
- 5. 文件之間的衝突
- 6. Android - 該軟件包與現有軟件包的名稱衝突
- 7. 與現有軟件包相同名稱的軟件包衝突
- 8. Unity3D軟件包與軟件包的衝突名稱相同
- 9. Cabal的軟件包版本衝突
- 10. 檢查兩個視圖之間活動的衝突檢測
- 11. 檢測數組中對象之間的衝突
- 12. 衝突檢測中的NullPointerException
- 13. R gam和mgcv之間的包裝衝突?
- 14. Rails的5測試版軟件包,update有衝突的寶石
- 15. Delphi軟件包與子軟件包本身衝突
- 16. Owin軟件包版本衝突
- 17. 檢查某些div之間的衝突?
- 18. Python中的R預測軟件包
- 19. 衝突檢測2D
- 20. 如何檢測包名衝突
- 21. r-base和r-recommended軟件包之間的區別
- 22. 如何檢測兩個git存儲庫之間的衝突。
- 23. 檢測PNG圖片和矩形之間的衝突JavaScript
- 24. 使用CGRectIntersectsRect檢測兩個CAlayers之間的衝突
- 25. 如何查找CCSprits之間的衝突檢測?
- 26. 檢測svg路徑和svg文本之間的衝突
- 27. 如何檢測組之間的衝突 - Java3D
- 28. 用Django表格檢測衝突期間
- 29. R中的異常值檢測軟件包
- 30. 衝突中的R
即嘗試'衝突(detail = TRUE)' – 2013-04-11 13:47:21