显示与特定类关联的方法

cbo*_*tig 5 r class s4 r-s3

我想查看与某个对象类关联的所有方法的列表.例如,如果我看到一些模型拟合例程返回类"富"的目标,我想知道,如果包(或任何其它封装)定义方法,如simulate.foo,update.foo,coef.foo,print.foo等我该怎么办呢?

我知道这methods解决了逆问题(假设有一个S3类),但显然我不想搜索已定义print函数的每个对象,以便找出我感兴趣的类是否有一个.我可能在这里忘记了一些非常简单的事情.谢谢!

(理想情况下,看到S3和S4类的解决方案会很好).

更新:理想情况下,解决方案应该显示隐藏的方法,就像methods函数一样.例如,methods("simulate")显示:

> methods("simulate")
[1] simulate.lm*
Run Code Online (Sandbox Code Playgroud)

因此,在查询与lm该类关联的方法时,我们希望恢复此模拟方法.

Ben*_*ker 6

我是傻瓜,还是methods(class="foo")你想要的(对于S3方法)?

methods(class="lm")
##  [1] add1.lm*           alias.lm*          anova.lm           case.names.lm*    
##  [5] confint.lm*        cooks.distance.lm* deviance.lm*       dfbeta.lm*        
##  [9] dfbetas.lm*        drop1.lm*          dummy.coef.lm*     effects.lm*       
## [13] extractAIC.lm*     family.lm*         formula.lm*        hatvalues.lm      
## [17] influence.lm*      kappa.lm           labels.lm*         logLik.lm*        
## [21] model.frame.lm     model.matrix.lm    nobs.lm*           plot.lm           
## [25] predict.lm         print.lm           proj.lm*           qr.lm*            
## [29] residuals.lm       rstandard.lm       rstudent.lm        simulate.lm*      
## [33] summary.lm         variable.names.lm* vcov.lm*          
## 
##    Non-visible functions are asterisked
Run Code Online (Sandbox Code Playgroud)

showMethods 适用于S4课程(取自@JoshO'Brien现已删除的答案,供参考):

library(sp)
showMethods(classes="SpatialPolygons")

## Function: [ (package base)
## x="SpatialPolygons"
## 
## Function: addAttrToGeom (package sp)
## x="SpatialPolygons", y="data.frame"
## 
## Function: coerce (package methods)
## from="GridTopology", to="SpatialPolygons"
## from="SpatialGrid", to="SpatialPolygons"
## from="SpatialPixels", to="SpatialPolygons"
## from="SpatialPolygons", to="SpatialLines"
## from="SpatialPolygons", to="SpatialPolygonsDataFrame"
## 
## Function: coordinates (package sp)
## obj="SpatialPolygons"
## 
## Function: coordnames (package sp)
## x="SpatialPolygons"
## 
## Function: coordnames<- (package sp)
## x="SpatialPolygons", value="character"
## 
## Function: over (package sp)
## x="SpatialGrid", y="SpatialPolygons"
## x="SpatialPoints", y="SpatialPolygons"
## x="SpatialPolygons", y="SpatialGrid"
## x="SpatialPolygons", y="SpatialGridDataFrame"
## x="SpatialPolygons", y="SpatialPoints"
## x="SpatialPolygons", y="SpatialPointsDataFrame"
## 
## Function: overlay (package sp)
## x="SpatialGridDataFrame", y="SpatialPolygons"
## x="SpatialGrid", y="SpatialPolygons"
## x="SpatialPointsDataFrame", y="SpatialPolygons"
## x="SpatialPoints", y="SpatialPolygons"
## x="SpatialPolygons", y="SpatialGrid"
## x="SpatialPolygons", y="SpatialPoints"
## 
## Function: plot (package graphics)
## x="SpatialPolygons", y="missing"
## 
## Function: polygons (package sp)
## obj="SpatialPolygons"
## 
## Function: polygons<- (package sp)
## object="data.frame", value="SpatialPolygons"
## 
## Function: recenter (package sp)
## obj="SpatialPolygons"
## 
## Function: spChFIDs (package sp)
## obj="SpatialPolygons", x="character"
## 
## Function: spsample (package sp)
## x="SpatialPolygons"
Run Code Online (Sandbox Code Playgroud)