2013-01-20 34 views
16

आप किसी विशिष्ट तर्क के सभी कार्यों के नाम और स्थान कैसे प्राप्त कर सकते हैं? क्या वैश्विक पर्यावरण, संलग्न पैकेज, और स्थापित संकुल में कार्यों के लिए उन्हें ढूंढने का कोई तरीका है?विशिष्ट तर्कों के साथ फ़ंक्शंस खोजें

+0

@Arun: हाँ, लेकिन यह मूल प्रश्न के लिए स्पर्शरेखा है, तो 1) यह संभावना नहीं किसी को खोजते हुए इससे मिलेगा, और 2) यह संभावना है कि सवाल है हटा दिया जाएगा। –

+0

कोई विशेष कारण आप पूछ रहे हैं? आखिरकार, किसी फ़ंक्शन के लिए तर्क का नाम बहुत मनमाना है, उदाहरण के लिए, agstudy के उत्कृष्ट उत्तर में तर्क 'x' और' arg'। मेरे जैसे कुछ बुद्धिमान, आपका अनुरोध देखकर, अपने पैकेजों को फिर से लिख सकते हैं और फिर से लिख सकते हैं, इसलिए तर्क 'xlim, ylim' अचानक आपको पागल करने के लिए' xlims, ylims 'बन गया। :-) –

उत्तर

14

मुझे लगता है कि आप सवाल पूछने के बस Ben great answer. खोना नहीं करने के लिए यहाँ मैं थोड़ा किसी भी तर्क के लिए खोज करने के लिए बेन जवाब संशोधित:

basevals <- ls(pos="package:base")  ## package name : here I use the base package 
basevals[sapply(basevals,uses_arg,'na.rm')] 
:

uses_arg <- function(x,arg) 
    is.function(fx <- get(x)) && 
    arg %in% names(formals(fx)) 

उदाहरण na.rm तर्क के साथ समारोह पाने के लिए के लिए

EDIT

संयोजन के रूप में ls की name तर्क करने के लिए बेहतर asNamespace साथ:

basevals <- ls(asNamespace('base')) 
basevals[sapply(basevals,uses_arg,'na.rm')] 
+0

'## आधार और आंकड़े पैकेज' द्वारा थोड़ा उलझन में है, मुझे 'आँकड़े 'से कुछ भी नहीं दिख रहा है, बस' आधार '? – Silverfish

+1

@ सिल्वरफ़िश आप सही हैं यह टाइपो है! मैं इसे सही करता हूँ। – agstudy