आर

2011-06-12 14 views
19

में फ़ंक्शन टिप्पणी सम्मेलन मैं आर के लिए बिल्कुल नया हूं, और मैं स्क्रिप्ट फ़ाइलों में अपने कुछ कार्यों को परिभाषित कर रहा हूं। मैं दूसरों के लिए बाद में उनका पुन: उपयोग करने का इरादा रख रहा हूं, और मुझे आर फ़ंक्शन टिप्पणी सम्मेलनों पर कोई मार्गदर्शिका नहीं मिल रही है। क्या help("my_function_name") बनाने के लिए मेरे पास कोई मदद है? यदि नहीं, तो क्या मैं सिर्फ स्क्रिप्ट फ़ाइल में फ़ंक्शन को दस्तावेज़ित करता हूं, ताकि टिप्पणियों को देखने के लिए किसी को स्क्रिप्ट को प्रिंट करना होगा (या स्रोत खोलना)?आर

धन्यवाद,

Hamy

उत्तर

21

अपने कार्यों को दस्तावेज करने और उन्हें दूसरों के लिए सुलभ बनाने का वैचारिक तरीका पैकेज बनाना है। अपने पैकेज को बिल्ड चेक पास करने के लिए, आपको अपने प्रत्येक कार्य/डेटासेट के लिए पर्याप्त विस्तृत सहायता फाइलें प्रदान करनी होंगी।

चेक बाहर http://cran.r-project.org/doc/manuals/R-exts.html#Creating-R-packages

रोब जम्मू Hyndman से इस ब्लॉग पोस्ट बहुत ही उपयोगी और आसान में से एक मुझे का पालन करने के लिए किया गया था: http://robjhyndman.com/researchtips/building-r-packages-for-windows/

मैं के रूप में & संकलन संकुल बनाने में सहायता करने के roxygen का उपयोग शुरू किया देर से: http://roxygen.org/

बहुत सारे अच्छे संसाधन और लोग जब आपके प्रश्न हैं तो मदद करने के लिए!

7

तुम एक पैकेज में कार्यों डाल करना होगा (जो समारोह वास्तव में आसान बनाता है पोर्टिंग)। मैंने कुछ समय पहले लिंक के साथ short post लिखा है (मुझे उम्मीद है कि वे अभी भी काम करते हैं) विषय के विस्तार के कुछ प्रासंगिक दस्तावेजों के लिए।

roxygen, inlinedocs का उपयोग करके आप "फ्लाई पर" सहायता फ़ाइलों को उत्पन्न कर सकते हैं।

+1

क्या यह एक roxygen गूंज है? गूंज? – Chase

15

एक और (और निचला कुंजी) विकल्प जो आप देख सकते हैं comment() और attr() फ़ंक्शन आपके कार्यों में कुछ मेटा डेटा जोड़ने के लिए हैं।

FOO <- function(x,y) { 
x + y 
} 

attr(FOO, "comment") <- "FOO performs simple addition" 

#This can be arbitrary. "comment" is special. see ?comment for details. 
attr(FOO, "help") <- "FOO expects two numbers, and it will add them together" 

फिर आप attributes() का उपयोग करके FOO के साथ जुड़े सब कुछ देख सकते हैं::

> attributes(FOO) 
$source 
[1] "function(x,y) {" " x + y "   "}"    

$comment 
[1] "FOO performs simple addition" 

$help 
[1] "FOO expects two numbers, and it will add them together" 

या विशिष्ट भागों निकालें:

> attr(FOO, "help") 
[1] "FOO expects two numbers, and it will add them together" 
attr(FOO, "comment") 
[1] "FOO performs simple addition" 

और के मामले में यहां एक त्वरित और मूर्खतापूर्ण उदाहरण है टिप्पणी, comment() का उपयोग करें:

> comment(FOO) 
[1] "FOO performs simple addition" 

लंबी अवधि में, अपना खुद का पैकेज लिखना लगभग निश्चित रूप से ओवरहेड और समय निवेश के लायक होगा, लेकिन अगर किसी कारण से यह अल्प अवधि में व्यावहारिक नहीं है - यहां एक और विकल्प है।

+0

+1 मैं यह हर समय करता हूं, खासकर सहेजे गए कार्यक्षेत्रों और कार्यों के लिए जो अत्यधिक जटिल नहीं हैं लेकिन आप जानना चाहते हैं कि वे "क्या करते हैं" जल्दी से। –