2013-04-16 14 views
5

के साथ जुड़े तरीकों मैं एक निश्चित वस्तु वर्ग के साथ जुड़े सभी तरीकों की एक सूची देखने के लिए चाहते हैं। जैसे अगर मुझे लगता है कि कुछ मॉडल नियमित रिटर्न वर्ग "foo" का एक उद्देश्य फिट, मुझे पता करना चाहते हैं तो पैकेज (या किसी अन्य पैकेज) तरीके से परिभाषित किया है इस तरह के simulate.foo, update.foo, coef.foo, print.foo आदि मैं ऐसा कैसे करते हैं इस?दिखाएँ एक विशेष वर्ग

मुझे पता है कि methods उलटा समस्या (एक S3 वर्ग मानकर) को हल करती है, लेकिन स्पष्ट रूप से मैं हर वस्तु है कि आदेश अगर ब्याज की मेरी कक्षा एक है पता लगाने के लिए एक print समारोह परिभाषित किया गया है के माध्यम से खोज करने के लिए नहीं करना चाहती। मैं शायद यहां कुछ बहुत आसान भूल गया हूँ। धन्यवाद!

(आदर्श रूप में यह S3 और एस 4 वर्गों के लिए समाधान को देखने के लिए अच्छा होगा)।

अद्यतन: आदर्श रूप से एक समाधान को छुपाए गए तरीकों को प्रकट करना चाहिए, जैसे कि methods फ़ंक्शन करता है। उदाहरण के लिए, methods("simulate") पता चलता है:

> methods("simulate") 
[1] simulate.lm* 

तो lm वर्ग के साथ जुड़े तरीकों के लिए एक प्रश्न में, हम इस अनुकरण विधि ठीक करने के लिए चाहते हैं।

उत्तर

6

Am मैं एक खोपड़ी जा रहा है, या methods(class="foo") है आप (S3 पद्धति के लिए) क्या चाहते हैं ??? एस 4 वर्गों के लिए

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 

showMethods काम करता है (@ 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" 
+0

तुम मुझे 13 सेकंड से हराया :-) –

+0

उम्म - किसी boneheaded किया जा रहा था, लेकिन ऐसा नहीं आप –

+0

दरअसल ;-) किया गया था! मुझे पता था कि उसके लिए एक अंतर्निहित कार्य होना था। – cboettig

4

यहाँ बल्कि .foo के लिए बेकारी से खोज से apropos भीतर एक regex पैटर्न के रूप में .lm का उपयोग कर एक उदाहरण है: "। एल एम"

> apropos("\\.lm") 
[1] "anova.lm"  "anova.lmlist" "hatvalues.lm" "kappa.lm"  "model.frame.lm" "model.matrix.lm" 
[7] "panel.lmline" "plot.lm"   "predict.lm"  "prepanel.lmline" "print.lm"  "residuals.lm" 
[13] "rstandard.lm" "rstudent.lm"  "summary.lm"  

वहाँ भी तरीकों के साथ शुरू ताकि आप उन के साथ-साथ चाहते हो सकता है:

> apropos("lm\\.") 
[1] ".__C__anova.glm.null" ".__C__glm.null"  "glm.control"   "glm.convert"   
[5] "glm.fit"    "glm.nb"    "lm.fit"    "lm.fit.qr.bare"  
[9] "lm.gls"    "lm.influence"   "lm.pfit"    "lm.ridge"    
[13] "lm.wfit"  

और तुम बाहर छोड़ चाहते थे "GLM।" तरीकों को कुछ हद तक अधिक सीमित regex का उपयोग:

> apropos("^lm\\.") 
[1] "lm.fit"   "lm.fit.qr.bare" "lm.gls"   "lm.influence" "lm.pfit"  "lm.ridge"  
[7] "lm.wfit" 
+0

दुर्भाग्य से ऐसा लगता है इस मामले हैं, जहां वर्ग NAMESPACE को निर्यात नहीं कर रहा है, जैसे में असफल हो जायेगी "विधियों()" द्वारा सूचीबद्ध सभी विधियों को एक क्षुद्रग्रह * के साथ दिखाई देता है। – cboettig

2

S3 मामले के लिए, methods इस के लिए एक तर्क class है:

> 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* 
+0

आप 13 सेकंड से हराया। –

+0

हां, धन्यवाद। बिल्कुल यकीन नहीं है कि मैं इसे कैसे भूल गया, क्योंकि मैंने इसे सौ बार इस्तेमाल किया होगा ... –

संबंधित मुद्दे