2016-08-18 15 views
14

क्या एक ही जुपीटर नोटबुक में आर और पायथन कोड चलाने के लिए संभव है। सभी विकल्प क्या उपलब्ध हैं?आर और पायथन एक जुपीटर नोटबुक में

  1. आर-आवश्यक स्थापित करें और जुपीटर में आर नोटबुक बनाएं।
  2. rpy2 इंस्टॉल करें और rmagic कार्यों का उपयोग करें।
  3. एक बीकर नोटबुक का उपयोग करें।

पाइथन और आर कोड स्निपेट (साझा करने वाले चर और विज़ुअलाइज़ेशन) चलाने के लिए ऊपर से 3 विकल्प विश्वसनीय हैं या क्या पहले से ही एक बेहतर विकल्प है?

उत्तर

5

एक ही नोटबुक में आर और पायथन सिंटैक्स दोनों का उपयोग करना आपके लिए मुश्किल होगा, क्योंकि ज्यादातर भाषाओं में वस्तुओं का अंतर्निहित प्रतिनिधित्व अलग-अलग है। जिसके अनुसार, एक परियोजना है कि वस्तुओं और विभिन्न भाषाओं में एक ही नोटबुक में के रूपांतरण अनुमति देने का प्रयास करता है: http://beakernotebook.com/features

मैं इसे इस्तेमाल नहीं किया है अपने आप को, लेकिन यह वादा

12

हाँ लग रहा है, यह संभव है! Rpy2 का प्रयोग करें।

आप के साथ rpy2 स्थापित कर सकते हैं: pip install rpy2

फिर अपने कोशिकाओं में से एक में %load_ext rpy2.ipython चलाते हैं। (आप केवल एक बार चलाने के लिए है।)

अब आप निम्न कर सकते हैं:

अजगर सेल:

# enables the %%R magic, not necessary if you've already done this 
%load_ext rpy2.ipython 

import pandas as pd 
df = pd.DataFrame({ 
    'cups_of_coffee': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 
    'productivity': [2, 5, 6, 8, 9, 8, 0, 1, 0, -1] 
}) 

आर सेल:

# import df from global environment 
# make default figure size 5 by 5 inches with 200 dpi resolution 
%%R -i df -w 5 -h 5 --units in -r 200 
install.packages("ggplot2", repos='http://cran.us.r-project.org', quiet=TRUE) 
library(ggplot2) 
ggplot(df, aes(x=cups_of_coffee, y=productivity)) + geom_line() 

और तुम हूँ एक पाइथन पांडस डेटाफ्रेम से अपना सुंदर आंकड़ा साजिश डेटा प्राप्त करें।

-1

मैं एक ही नोटबुक में दो भाषाओं का उपयोग करने की अनुशंसा नहीं करता। इसके बजाय, आप इनपुट स्तर पर इनपुट \ आउटपुट फ़ाइल बेस पर कनेक्ट करके आर और पायथन कोड को प्रोजेक्ट लेवल में ऑर्केस्ट्रेट कर सकते हैं। डेटा विज्ञान उपकरण जैसे DVC ऐसा करने में आपकी सहायता कर सकते हैं।

आप इस ब्लॉग पोस्ट में कुछ कोड उदाहरण मिल सकते हैं: Best practices of orchestrating Python and R code in ML projects

+0

यह गैर-उत्तर के रूप में है और आप केवल उन परियोजनाओं का समर्थन कर रहे हैं जिन पर आप काम करते हैं। आप लिंक गिट रेपो देखें। कम से कम बताएं कि आपका "इसके बजाय" कथन क्यों लायक है। – mnky9800n

2

@ अजगर गिरी (MacOS में) के भीतर एक jupyter नोटबुक में आर चलाने के लिए uut के जवाब का उपयोग करना, मेरे लिए काम किया गया था।

%%R हमेशा सेल के शुरू में होना चाहिए अन्यथा आप निम्नलिखित सही तरीका है के रूप में नीचे syntax error if %%R not at the top of the cell

चित्र में दिखाया गया त्रुटि प्राप्त होगी: Right way to invoke R within python kernel

इसके अलावा %load_ext rpy2.ipython%%R से पहले आना चाहिए इसलिए डाल आंकड़ों में दिखाए गए अनुसार यह एक अलग सेल में है।

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