2011-02-17 10 views
6

मैं अक्सर लाटेक्स दस्तावेजों का उत्पादन करने के लिए Sweave का उपयोग करता हूं जहां कुछ खंड आर कोड निष्पादित करके गतिशील रूप से उत्पादित होते हैं। यह अच्छी तरह से काम करता है - लेकिन अलग-अलग तरीकों से निष्पादित कोड भाग भी संभव है, उदाहरण के लिए खोल में कोड निष्पादित करके, या पर्ल चलाने से, और इसी तरह? चीजों को मिश्रण करने में सक्षम होना उपयोगी होगा, इसलिए मैं कुछ डेटा लाने के लिए कुछ खोल कमांड चलाने जैसी चीजें कर सकता हूं, कुछ perl कमांड को प्री-प्रोसेस करने के लिए चला सकता हूं, और फिर इसका विश्लेषण करने के लिए आर कमांड चला सकता हूं।गैर-आर कोड भाग के साथ स्वीवेव?

बेशक मैं सभी आर भाग का उपयोग कर सकता हूं और system() का उपयोग गरीब व्यक्ति के विकल्प के रूप में कर सकता हूं, लेकिन यह दस्तावेज़ में बहुत सुखद पढ़ने के लिए नहीं बनाता है।

उत्तर

4

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

http://orgmode.org/worg/org-contrib/babel/

+0

....आप मुझसे तेज थे :-) –

+0

@ बर्ड ओप्स, क्षमा करें :-) – juba

+0

केन, आप निश्चित रूप से इसके लिए ऑर्ग-मोड देखना चाहते हैं, यह 30 भाषाओं की तरह कुछ का समर्थन करता है, और बस इतना आसान है एम्बेडिंग कोड (हालांकि यह भी अच्छा है)। अगले हफ्ते, मैं अंत में अपनी साइट पर आर के साथ ऑर्गे-मोड का उपयोग करने के लिए अपना विस्तारित पोस्ट कर रहा हूं, जब मैं तैयार हूं तो मैं आपको बता दूंगा। –

3

वहाँ निश्चित रूप से कोई आसानsystem() (अगर यह समर्थित है शायद inline के माध्यम से) आर से या तो विदेशी भाषा इंटरफेस के माध्यम से की तुलना में इस अन्य करने के लिए जिस तरह से, या है। इसके लायक होने के लिए, मैं केवल system() का उपयोग करूंगा; यह काफी आसान होना चाहिए।

आप this previous question about having a Sweave equivalent for Python देख सकते हैं, जहां उत्तरदाताओं में से एक वास्तव में एक अलग इंटरफ़ेस बनाता है। इससे आपको यह समझ मिल सकती है कि अन्य भाषाओं को एम्बेड करने में क्या होगा जो पहले से समर्थित नहीं हो सकते हैं। कम से कम, आपको स्वीवे ड्राइवर पर प्रमुख हैकिंग करना है।

2

स्टेटवेव प्रोजेक्ट है जो बुनाई करने के लिए आर के बजाए जावा का उपयोग करता है, लेकिन केवल आर के बजाए कई प्रोग्राम चलाएगा। मुझे नहीं पता कि पर्ल या अन्य कार्यक्रमों जैसे इसे करना कितना मुश्किल होगा कि है, लेकिन मुखपृष्ठ इंगित करता है कि यह पहले से ही अनुसंधान, एसएएस, Stata, और दूसरों के साथ काम करता है:

http://www.cs.uiowa.edu/~rlenth/StatWeave/

3

आप Emacs जानते हो "org-mode और:

http://www.orgmode.org/

और कैसे ऑर्ग-कोलाहल कारगर सिद्ध होगा:

आप ऑर्ग मोड के बारे में अधिक जानकारियां प्राप्त कर सकते हैं अधिक विशेष रूप से, Babel? यदि आप पहले से ही Emacs जानते हैं या Emacs पर स्विच करने के इच्छुक हैं, तो ऑर्ग-मोड और बेबेल आपके प्रश्न का उत्तर हैं।

उदाहरण के लिए, मैं वर्तमान में एक दस्तावेज़ पर काम कर रहा हूं जिसमें कुछ खोल-स्क्रिप्ट शामिल हैं, आर के साथ गणना करता है और डॉट (ग्राफ़विज़) के साथ प्रवाह चार्ट बनाता है। संगठन मोड विभिन्न प्रारूपों को निर्यात कर सकता है, उदा। लाटेक्स (यही वह है जो मैं उपयोग करता हूं)।

+0

ग्रेट। मैं पहले से ही एक emacs उपयोगकर्ता (Aquamacs वास्तव में) हूँ, तो यह एक अच्छा फिट है। अजीब बात यह है कि एक मल्टी-फॉर्मेट प्रारूप छुपा हुआ है जो कि कार्य-प्रबंधन मोड जैसा प्रतीत होता है! –

5

नई नई चीज़ (बहु भाषा, बहु प्रारूप) दस्तावेज़ों के लिए dexy.it हो सकता है जो उदाहरण के लिए ये guys at opengamma.org बैकएंड के रूप में उपयोग करते हैं।

Ana, जो डेक्सी के पीछे है, भी इसके बारे में बहुत सी बातचीत कर रहा है, इसलिए dexy blog पर भी देखें।

+0

जानना अच्छा है, मैं इसे देख लूंगा। –

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