-1
在R終端我可以發出沒有as.matrix通用功能
> as.matrix
function (x, ...)
UseMethod("as.matrix")
<bytecode: 0x7ffd5430a898>
<environment: namespace:base>
我想實現一個as.matrix方法的類。在我的[R包我有
as.matrix.pdist = function(x, ...) { do stuff ... }
當我安裝我的包,我看到
Creating a generic function for ‘as.matrix’ from package ‘base’ in package ‘pdist’
當我實例pdist的一個實例,並調用as.matrix
,我as.matrix.pdist
方法不會被調用。這是否意味着as.matrix不是一個通用函數?爲什麼我在查看as.matrix
的來源時看到UseMethod調用?我如何正確實施as.matrix
?
我最好的猜測是,你還沒有導出你的方法...?看看[Writing R Extensions]的第1.6.2節(http://cran.r-project.org/doc/manuals/R-exts.html)。 – joran
您是否在名稱空間中註冊了該方法? –
,您可以使用'setGeneric'使「創建通用函數」消息消失,如'?Methods'中所述。 –