आर पैकेज के पुराने संस्करण को स्थापित करना


134

मैं Rpy2 और ggplot2 का उपयोग करने की कोशिश कर रहा हूं, लेकिन मुझे एक त्रुटि मिलती है। कुछ त्रुटि के लिए ऑनलाइन खोज करने के बाद, मैंने पाया कि त्रुटि इसलिए होती है क्योंकि ggplot2 पैकेज में परिवर्तन होते हैं जो अभी तक Rpy2 में परिलक्षित नहीं होते हैं (उदाहरण के लिए, इस पोस्ट को देखें (संपादित करें: लिंक अब मृत है)।

इसलिए मुझे अब ggplot2 के पुराने संस्करण को स्थापित करने की आवश्यकता है। यहाँ मैं क्या चाहता हूँ के लिए छद्म कोड है:

install.packages("ggplot2", version='0.9.1')

लेकिन install.packagesएक versionतर्क नहीं है । मैं यह कैसे करुं?


कोशिश करो checkBuilt? stackoverflow.com/questions/16503554/…
isomorphismes

जवाबों:


150

स्रोत से पैकेज का एक पुराना संस्करण स्थापित करने के लिए (R के भीतर):

packageurl <- "http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz"
install.packages(packageurl, repos=NULL, type="source")

यदि यह आपके लिए काम नहीं करता है और आप विंडोज पर हैं, तो इसका कारण संभवतः पैकेजों के निर्माण / संकलन के लिए एक उपयुक्त टूल चेन की कमी है । आम तौर पर आप CRAN से एक पूर्व-संकलित बाइनरी स्थापित करेंगे, लेकिन वे केवल पैकेज स्रोतों को संग्रहित करेंगे , न कि बायनेरीज़ । [१] इसका मतलब है कि आपको Rtools स्थापित करने की आवश्यकता है ताकि आप स्थानीय रूप से सब कुछ संकलित कर सकें। (नोट: Rtools एक R पैकेज नहीं है ।)

@ नीचे छाया का उत्तर भी ऐसा मामला बनाता है जिसका आप उपयोग कर सकते हैं devtools::install_version()। यह भी एक अच्छा विचार है, लेकिन विंडोज पर Rtools की जरूरत के अधीन भी है।

18 सितंबर, 2015 तक, सीआरएएन पर एक नया पैकेज संस्करण सामने आया है । यह रिवोल्यूशन एनालिटिक्स MRAN सर्वर पर निर्भर करता है जो विशिष्ट संस्करणों या तारीखों के लिए पैकेज स्थापित करता है:

# install yesterday's version of checkpoint, by date
install.dates('checkpoint', Sys.Date() - 1)

# install earlier versions of checkpoint and devtools
install.versions(c('checkpoint', 'devtools'), c('0.3.3', '1.6.1'))

इसका लाभ विंडोज पर बाइनरी पैकेज स्थापित करने के लिए Rtools की आवश्यकता नहीं है, लेकिन केवल 2014-09-17 (जब MRAN लॉन्च किया गया था) पर वापस जा रहा है।

कमांड लाइन (R के बाहर) से एक पुराने संस्करण को स्थापित करने के लिए:

आप R CMD INSTALLअपने मशीन पर स्थानीय स्तर पर पैकेज स्रोत ("तारबॉल") का उपयोग करने के बाद कमांड लाइन (टर्मिनल, कमांड प्रॉम्प्ट, आदि) का उपयोग करके एक पैकेज स्थापित कर सकते हैं , उदाहरण के लिए wget(यदि आपके पास है):

wget http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz

या, यदि आप विंडोज पर हैं, तो PowerShell का उपयोग करने वाला एक समान होगा:

(new-object System.Net.WebClient).DownloadFile("http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz", "./ggplot2_0.9.1.tar.gz")

या आप अपने वेब ब्राउज़र के माध्यम से सिर्फ CRAN संग्रह से स्रोत डाउनलोड कर सकते हैं।

स्थानीय फ़ाइल से स्थापित करने के लिए, आप बस कर सकते हैं:

R CMD INSTALL ggplot2_0.9.1.tar.gz

किसी भी प्लेटफ़ॉर्म पर काम करना चाहिए (एक ही कैविएट के साथ - ऊपर - पैकेज के निर्माण के लिए एक उपकरण श्रृंखला की आवश्यकता के बारे में)।


[१] यह अब पूरी तरह से सच नहीं है। मार्च 2016 से, सीआरएएन ने एक "सीआरएएन आर्काइव" सर्वर की मेजबानी शुरू कर दी है जिसमें आर (> 5 वर्ष पुराने) के बहुत पुराने संस्करणों के लिए विंडोज और मैक बायनेरिज़ हैं। अब आप इस सर्वर से सीधे इंस्टॉल कर सकते हैं install.packages()। कुछ विवरणों के लिए नए R FAQ 7.44 देखें।


4
धन्यवाद, मुझे लगता है कि यह सही तरीका है। बहुत बुरा मुझे अब मिल रहा है: Warning message: package ‘http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz’ is not available (for R version 2.15.2)
hirolau

3
Rcpp के साथ एक समान मुद्दा था। यह पैकेज के आर संस्करण निर्भरता (DEPENDS: <संस्करण>) के कारण हो सकता है, या यह हो सकता है कि चल रहे आर सत्र आपको अपडेट करने की अनुमति न दें। मेरे लिए जो काम किया, वह उस तरीके से अपडेट को अंजाम देने के लिए था जो मार्क बटलर (नीचे) ने सुझाव दिया था (R CMD INSTALL your_version.tar.gz)। यह मेरे मामले में आर 2.15.3 के लिए था।
रॉबर्ट केसी

@ एंटोनी आप विंडोज पर हैं? और, यदि हां, तो क्या आपके पास Rtools स्थापित हैं?
थॉमस

@Thomas जवाब देने के लिए धन्यवाद। हां, मैं विंडोज पर Rtools के साथ हूं "छद्म स्थापित" इस धागे को देखें ।
एंटोनी

@ थोमस मैं अपनी मशीन (पुस्तकालय पथ, आर बनाम संस्करण के पैकेज के संस्करण, संकलन के मुद्दों आदि) पर स्पष्ट स्थानीय समस्याओं से बचने के लिए अमेज़ॅन ईसी 2 पर अपनी स्क्रिप्ट को चलाने की कोशिश करने जा रहा हूं
एंटोनी

87

remotesपैकेज एक प्रदान करता है install_versionसमारोह है कि यह सीधे कर सकते हैं।

require(remotes)
install_version("ggplot2", version = "0.9.1", repos = "http://cran.us.r-project.org")

पहले, यह जवाब devtoolsपैकेज को इंगित करता था , जो install_versionफ़ंक्शन को फिर से निर्यात भी करता है। @MichaelChirico को इंगित करने के लिए धन्यवाद कि remotesपैकेज बेहतर है।


क्या आप install_versionकिसी विशिष्ट संस्करण को लोड करने के लिए हर बार एक ही पैकेज के कई संस्करण रख सकते हैं ? कहते हैं,library(ggplot2-0.9.1)
PatrickT

1
@PatrickT आप एक स्थानीय पुस्तकालय का उपयोग करके ऐसा कर सकते हैं। उदाहरण के लिए install_version('ggplot2', version = 0.9.1, lib = 'path_to_library_with_ggplot_0.9.1')औरlibrary(ggplot2, lib.loc = 'path_to_library_with_ggplot_0.9.1')
शैडो

1
आप install_version को चलाने से पहले .libPaths ("/ dir_for_custom_library_versions") का उपयोग भी कर सकते हैं
tjjjohnson

1
आजकल मुझे लगता remotes::install_versionहै कि बेहतर है क्योंकि remotesएक बहुत अधिक हल्के पैकेज की तुलना में devtools( devtools::install_versionसिर्फ एक फिर से निर्यात है remotes::install_version)
माइकलक्रिक

5

install.packagesएक अन्य उत्तर में वर्णित के रूप में उपयोग करना मेरे लिए काम नहीं करता है।

सबसे अच्छा विकल्प जो मैंने पाया है वह install_urlपैकेज से फ़ंक्शन का उपयोग करना है devtools

एक और संभावना है कि मैंने आगे की खोज नहीं की है:

  1. पैकेज अभिलेखागार से .tar.gz स्रोत फ़ाइल डाउनलोड करें।
  2. स्थानीय स्तर पर स्थापित करने के लिए http://rtm.wustl.edu/writings/htrtargz.pdf पर प्रलेखित चरणों का पालन करें ।

यह मेरे लिए काम नहीं करता है, कृपया विवरण के लिए मेरे प्रश्न stackoverflow.com/q/22673474/684229 का अनुसरण करें।
टीएमएस

+1, R CMD INSTALLकमांड उबंटू पर भी काम करता है। धन्यवाद!!
फणी

5

आप ज़िप फ़ाइल के रूप में नीचे दिए गए लिंक से अपना उपयुक्त संस्करण डाउनलोड कर सकते हैं।

http://cran.r-project.org/src/contrib/Archive/ggplot2/

आर स्टूडियो में: उपकरण >> पैकेज स्थापित करें >> से इंस्टॉल करें: (ड्रॉप डाउन चुनें)

पैकेज पुरालेख फ़ाइल (.zip, .tar.gz)।

अपना नव-डाउनलोड-पैकेज-ज़िप-फ़ाइल चुनें और पैकेज स्थापित करें


4

एक अच्छा समाधान है, जो मेरे लिए काम किया (विवरण पर हैं मिला लिंक )।

"Repmis" लाइब्रेरी में कमांड:

# Install old versions of the e1071 and gtools packages.

# Create vectors of the package names and versions to install
# Note the names and version numbers must be in the same order
Names <- c("e1071", "gtools")
Vers <- c("1.6", "2.6.1")

# Install old package versions into the default library
InstallOldPackages(pkgs = Names, versions = Vers)

1

शुद्ध install.packagesविधि

देखें आर-devel मेलिंग सूची पर इस सूत्र । कर्ट व्हीलर के जवाब में, कर्ट हॉर्निक एक पैकेज के विशिष्ट संस्करण को निर्दिष्ट करने के लिए CRAN वेबसाइट की एक अनिर्दिष्ट सुविधा का खुलासा करता है।

यह विधि तब तक काम करेगी जब तक आपके पास पहले से स्थापित सभी आवश्यक निर्भरताएँ हैं:

package = "https://cran.r-project.org/package=svglite&version=1.2.1"
utils::install.packages(pkgs = package, repos = NULL)

ऊपर दिए गए URL संरचना पर ध्यान दें। यह समस्या को हल करता है कि CRAN में नवीनतम संस्करण के लिए संग्रहीत संस्करणों की तुलना में एक भिन्न URL संरचना है:

# Latest version (not available at Archive/svglite)
https://cran.r-project.org/src/contrib/svglite_1.2.1.tar.gz
# Archived version
https://cran.r-project.org/src/contrib/Archive/svglite/svglite_1.2.0.tar.gz

remotes::install_version तरीका

एक अन्य विकल्प remotes::install_version फ़ंक्शन का उपयोग करना है । हालांकि, आपको remotes पैकेज स्थापित करने की आवश्यकता होगी ।


0

एक versionsपैकेज है जो 2014-09-17 के बाद से जारी किए गए पैकेज संस्करणों के लिए इस कार्य को काफी सरल करता है। यह क्रांति विश्लेषिकी में MRAN सर्वर के स्नैपशॉट का उपयोग करता है:

  • किसी भी CRAN पैकेज ( available.versions) की रिलीज की तारीख और एमआरएएन उपलब्धता दिखाएं ,

  • एक या अधिक पैकेज ( install.versions), या के निर्दिष्ट संस्करण स्थापित करें

  • किसी भी निर्दिष्ट तिथि ( install.dates) के रूप में उपलब्ध पैकेज संस्करण स्थापित करें । यह मानक install.packagesफ़ंक्शन के माध्यम से एमआरएएन सर्वर से इंस्टॉलेशन करता है , इसलिए स्रोत से संकलन करने के बजाय उपलब्ध बाइनरी संस्करण स्थापित किए जा सकते हैं, और निर्दिष्ट तिथि के अनुसार पैकेज निर्भरता शामिल की जा सकती है।

पैकेज संस्करणों और आर संस्करणों के संयोजन के साथ निश्चित रूप से संगतता समस्याएं हो सकती हैं। विभिन्न आर संस्करणों को चलाने के लिए, इस पृष्ठ को उदाहरण के लिए देखें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.