मैं स्रोत से R पैकेज कैसे स्थापित करूं?


392

एक दोस्त ने आर के साथ webscraping NYtimes पर इस महान ट्यूटोरियल के साथ मुझे भेजा । मैं वास्तव में इसे आज़माना पसंद करूंगा। हालांकि, पहला कदम स्रोत से RJSONIO नामक पैकेज स्थापित करना है।

मैं आर को काफी अच्छी तरह से जानता हूं, लेकिन मुझे नहीं पता कि स्रोत से पैकेज कैसे स्थापित किया जाए।

मैं मैक OSX चला रहा हूं।


1
यह बहुत निकट से संबंधित है: stackoverflow.com/questions/11105131/…
GSee

जवाबों:


486

यदि आपके पास स्थानीय रूप से फ़ाइल है, तो उपयोग करें install.packages()और सेट करें repos=NULL:

install.packages(path_to_file, repos = NULL, type="source")

path_to_fileपूर्ण पथ और फ़ाइल नाम का प्रतिनिधित्व कहां होगा:

  • Windows पर यह कुछ इस तरह दिखेगा: "C:\\RJSONIO_0.2-3.tar.gz"
  • UNIX पर यह इस तरह दिखेगा "/home/blah/RJSONIO_0.2-3.tar.gz":।

2
यह भी काम करता है अगर file_name_and_pathएक आर पैकेज का स्थानीय स्रोत भंडार है।
फहीम मीठा

1
नोट INSTALL_optsविकल्प को पास करने के लिए विकल्प का उपयोग किया जा सकता है R CMD INSTALL। उदाहरण के लिए, "-नो-मल्टीकार"
एंडी बारबोर

2
install.packages ("/ tmp / shiny_0.13.1.tar.gz", repos = NULL, टाइप = "स्रोत") मुझे यह त्रुटि मिलती है: -ksh: वाक्यविन्यास त्रुटि: `('अप्रत्याशित
iaa

3
जैसा कि @Cerin ने बताया, आपको एक्सटेंशन का ध्यान रखना होगा। मेरे पास .zip अभिलेखागार के साथ R से एक त्रुटि "(जैसा कि 'lib' अनिर्दिष्ट है)" था। एक्सटेंशन को .tar में बदलने के बाद यह सब ठीक काम करता है।
मोहम्मद हसन

2
ध्यान देने योग्य बात यह है कि क्योंकि repos = NULLयह दृष्टिकोण सीआरएएन से निर्भरताएं स्थापित नहीं करेगा। यह उत्तर बताता है devtools::install_local(path_to_file)कि मुझे कौन सा सरल है (आपूर्ति के लिए कम तर्क) और बेहतर (निर्भरता भी स्थापित करता है)।
मैक

97

स्रोत पैकेज डाउनलोड करें, Terminal.app खोलें, उस निर्देशिका पर जाएं जहां आपके पास वर्तमान में फ़ाइल है, और फिर निष्पादित करें:

R CMD INSTALL RJSONIO_0.2-3.tar.gz

ध्यान दें कि यह तभी सफल होगा जब या तो: a) पैकेज को संकलन की आवश्यकता नहीं है या b) संकलन के लिए आवश्यक सिस्टम टूल मौजूद हैं। देखें: https://cran.r-project.org/bin/macosx/tools/


3
मैंने यह कोशिश की और एक त्रुटि मिली: Madjoro-MacBook-Pro: ~ Madjoro $ R CMD INSTALL RJSONIO_0.2-3.tar.gz चेतावनी: अमान्य पैकेज 'RJSONIO_0.2-3.tar.gz त्रुटि: त्रुटि: कोई पैकेज नहीं निर्दिष्ट

1
आपको .tar.gz फ़ाइल का सही पथ निर्दिष्ट करना होगा और XCode टूल ( developer.apple.com/TOOLS/Xcode ) की आवश्यकता है।
21

1
क्या बाइनरी बनाने का एक तरीका है। स्रोत से .zip?
हरदिवस

5
समाधान मिला, आपको उपयोग करने की आवश्यकता है - पाक विकल्प।
हरदिवस

कितनी बार आप यहां आए हैं क्योंकि आपने INSTALL के बजाय इंस्टॉल टाइप किया है?
ब्रैंडन बर्टेल्सन

50

आप रिपॉजिटरी से सीधे इंस्टॉल कर सकते हैं (नोट करें type="source"):

install.packages("RJSONIO", repos = "http://www.omegahat.org/R", type="source")

3
मैंने यह कोशिश की और एक त्रुटि मिली: * सोर्स पैकेज 'RJSONIO' स्थापित करना ... ** libs ** arch - i386 sh: make: कमांड नहीं मिला ERROR: संकलन के लिए पैकेज 'RJSONIO' RMate पंक्ति 3 में बंद हो गया 'हटाना' /Library/Frameworks/R.framework/Versions/2.9/Resources/library/RJSONIO 'डाउनलोड किए गए पैकेज' / निजी / var / फ़ोल्डर्स / आई / EyzhYjoKESmsms6K87PeU +++ TI / -Tmp- / Rtmpe3C96p / डाउनलोड_पैप अपडेट में हैं। '.Library' चेतावनी संदेश में संकुल का सूचकांक: install.packages में ("RJSONIO", repos = " omegahat.org/R " ,: संकुल 'RJSONIO' की स्थापना गैर-शून्य निकास स्थिति थी

6
क्या आपके पास डेवलपर उपकरण स्थापित हैं? वे मैक ओएस एक्स इंस्टॉलेशन डीवीडी में आते हैं। चूंकि इस पैकेज में C कोड है, इसलिए आपको इसे स्रोत से इंस्टॉल करने के लिए एक कंपाइलर की आवश्यकता होगी।
एडुआर्डो लियोनी

1
मुझे संदेह है कि मेरे पास डेवलपर उपकरण स्थापित नहीं हैं। कम से कम, मुझे उन्हें स्थापित करने की याद नहीं है। धन्यवाद!

4
यदि आप खिड़कियों पर ऐसा कर रहे हैं, तो आप murdoch-sutherland.com/Rtools से डेवलपर टूल प्राप्त कर सकते हैं ... सुनिश्चित करें कि जब आप अपने पथ को अपडेट करने के लिए कहते हैं, तो बॉक्स को चेक करते समय स्थापित करें (पढ़ने में थोड़ा कठिन हो सकता है ... बस अनियंत्रित बॉक्स को चेक किया जो आता है)
दान गोल्डस्टीन

27

स्रोत से पैकेज के पुराने संस्करण को स्थापित करने के लिए एक पूरक (लेकिन तुच्छ) टिप।

सबसे पहले, यदि आप "install.packages" कहते हैं, तो यह हमेशा रेपो से नवीनतम पैकेज स्थापित करता है। यदि आप संकुल के पुराने संस्करण को स्थापित करना चाहते हैं, तो अनुकूलता के लिए कहें, आप install.packages ("url_to_source", repo = NULL, प्रकार = "स्रोत") को कॉल कर सकते हैं। उदाहरण के लिए:

install.packages("http://cran.r-project.org/src/contrib/Archive/RNetLogo/RNetLogo_0.9-6.tar.gz", repo=NULL, type="source")

मैन्युअल रूप से पैकेज को स्थानीय डिस्क पर डाउनलोड करने और कमांड लाइन पर स्विच किए बिना या स्थानीय डिस्क से इंस्टॉल किए बिना, मैंने पाया कि यह बहुत सुविधाजनक है और कॉल (वन-स्टेप) को सरल करता है।

प्लस: आप संकुल के विभिन्न संस्करणों को प्रबंधित करने के लिए devtools लाइब्रेरी के dev_mode के साथ इस ट्रिक का उपयोग कर सकते हैं:

संदर्भ: डॉक्टर देवतुल


9

क्रेन से , आप सीधे जीथब रिपॉजिटरी पते से इंस्टॉल कर सकते हैं। इसलिए यदि आप पैकेज चाहते हैं https://github.com/twitter/AnomalyDetection:

library(devtools)
install_github("twitter/AnomalyDetection")

उसने चाल चली।


8

इसके अलावा, आप --binary ऑप्शन का उपयोग करके बाइनरी पैकेज का निर्माण कर सकते हैं।

R CMD build --binary RJSONIO_0.2-3.tar.gz

21
R CMD build --binaryपदावनत किया गया है; R CMD INSTALL --buildइसके बजाय का उपयोग करें
f3lix
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.