आर

2010-08-14 14 views
25

में स्रोत कोड देखें मैं आर में स्रोत कोड कैसे देखूं? उदाहरण के लिए, समारोह portfolio.optimआर

> require(tseries) 
> portfolio.optim 
function (x, ...) 
UseMethod("portfolio.optim") 
<environment: namespace:tseries> 

> methods(portfolio.optim) 
[1] portfolio.optim.default* portfolio.optim.ts*  

Non-visible functions are asterisked 
> portfolio.optim.ts 
Error: object 'portfolio.optim.ts' not found 
> portfolio.optim.default 
Error: object 'portfolio.optim.default' not found 

के लिए जब मैं आर पैकेज स्थानीय स्तर पर स्थापित है, यह स्रोत कोड के रूप में अच्छी तरह से डाउनलोड करता है? यह कंप्यूटर पर कहां स्टोर करता है? क्या कोई जानता है?

+3

यह भी देखें: उवे Ligges, "आर सहायता डेस्क: सूत्रों को एक्सेस करना" पुनः लोड News_, 6 (4): 43-45, अक्टूबर 2006 http://cran.r-project.org/doc/Rnews/Rnews_2006 -4.pdf –

उत्तर

30
  1. Non-visible functions are asterisked के जवाब में, इसका मतलब है कि वास्तविक कार्यों कि ts या डिफ़ॉल्ट वस्तुओं पर भेज दिया जाता है, क्रमशः, टी-सीरीज़ नाम स्थान में हैं, लेकिन निर्यात नहीं किया। तो बस tseries:::portfolio.optim.default टाइप करें और नामस्थान सहित पूर्ण पैच निर्दिष्ट करने के बाद आप फ़ंक्शन कोड देखते हैं।

  2. चाहे आर डाउनलोड स्रोत या एक द्विआधारी आपके ऑपरेटिंग सिस्टम पर निर्भर करता है। किसी भी घटना में, tseries package is available के लिए स्रोत। अनुभवी कोडर्स द्वारा लिखे गए स्रोत कोड को पढ़ना सीखने का एक अच्छा तरीका है।

+0

मैं पैकेज 'मैट्रिक्स' में फ़ंक्शन' lu' के लिए स्रोत कोड प्रदर्शित करने में असमर्थ हूं। क्या आप कृपया एक नज़र डालें? – user236215

22

getAnywhere समारोह सहायक होता है जब आप नहीं जानते, जिसमें नाम स्थान में एक समारोह है।

manual में वर्णित है, या पर समारोह के help page

15

आप कार्यों के अधिकांश के लिए क्या कर सकते हैं आर में कमांड विंडो कहाँ नाम के साथ functionName में भरने में संपादित करें (functionName) दर्ज है।

नतीजतन आप समारोह के स्रोत कोड प्राप्त कर सकते हैं। हालांकि, मैंने फ़ंक्शन पोर्टफोलियो.ऑप्टिम के लिए इसे आजमाया, इसलिए वहां यह काम नहीं करता है। संभवतः केवल मानक कार्यों के लिए।

+0

डाउनवोट क्यों? मैंने इसका परीक्षण किया है और यह लाइब्रेरी फ़ंक्शन पर काम करता है। –

+0

RStudio में एक अच्छी विंडो लाता है। +1! –

5

क्या आप देखना चाहते हैं के लिए एक विशेष विधि के लिए स्रोत है, तो आप विकल्पों में से एक जोड़ी है। एक डिबग (portfolio.optim) उपयोग करने के लिए है। फिर जब आप किसी ऑब्जेक्ट पर फ़ंक्शन चलाते हैं, तो उसे विधि के माध्यम से चरण-दर-चरण जाना चाहिए, जैसा कोड जाता है उसे प्रिंट करना। इसे चरणबद्ध करने के लिए 'n' का उपयोग करें, और जब आप पूरा कर लें तो undebug (portfolio.optim) का उपयोग करना न भूलें।

वैकल्पिक रूप से, आप जिस पैकेज की आवश्यकता है उसके लिए स्रोत डाउनलोड कर सकते हैं, इसे अनजिप कर सकते हैं और वादा करने वाले नामों के साथ किसी भी फाइल को ढूंढ सकते हैं (यह दृष्टिकोण मुश्किल है, क्योंकि जिस कार्य को आप ढूंढ रहे हैं उसे सी में लिखा जा सकता है!)। बाइनरी में कोड की तलाश करना आसान है। यदि आप इस मार्ग पर जा रहे हैं, तो कोड को संकुचित फ़ोल्डर में उपलब्ध होना चाहिए जहां भी आपने डाउनलोड किया था।

+0

वाह। इस 'डीबग' फ़ंक्शन के लिए आपको बहुत बहुत धन्यवाद। यह विस्मयकारी है! –