2013-04-18 9 views
15

एसओ पर आवर्ती प्रश्न यह है कि पैकेज xx आर संस्करण 2.xx.xx के लिए उपलब्ध नहीं है। examplegplots पैकेज के लिए उपयोगकर्ता को स्थापित करने के लिए R 3.0 स्थापित करने की आवश्यकता है। आप पुरालेख के क्रैन में पुराने संस्करण प्राप्त कर सकते हैं, लेकिन:आर पैकेज के पुराने संस्करणों को कुशलता से प्राप्त करना

  • यह देखना आसान नहीं है कि आपको एक विशिष्ट आर संस्करण के लिए आवश्यक पैकेज का कौन सा संस्करण चाहिए।
  • आपको स्रोत से पैकेज बनाने की आवश्यकता है, जो मुख्य रूप से विंडोज के तहत एक हल्का चुनौती है।

मेरा प्रश्न निम्न है: पुराने पैकेज संस्करणों को प्राप्त करने में एक अधिक प्रभावी वर्कफ़्लो है जो आर के आपके पुराने संस्करण से मेल खाता है? उबंटू के विभिन्न संस्करणों के लिए विभिन्न पैकेज भंडार रखने की भावना में।

मुझे पता है कि एक विकल्प केवल आर का नवीनतम संस्करण प्राप्त करना होगा, लेकिन आर के एक निश्चित संस्करण से चिपकने के लिए कुछ दबाव डाला जा सकता है। उदाहरण के लिए, एक पुराने प्रयोग को दोहराने में रुचि हो सकती है जो निर्भर करता है आर और समर्थन पैकेज का एक पुराना संस्करण। या एक सिस्टम प्रशासन द्वारा सीमित है।

+2

जो दिलचस्प होगा। मैं आर के लिए मशीन लर्निंग पर एक पुस्तक के माध्यम से काम कर रहा हूं, और मेरे आर और पैकेज संस्करणों को हाल ही में होने के कारण मैंने काफी समय गंवा दिया है। पुस्तक में दिए गए कुछ आदेश हाल के पैकेज संस्करणों के लिए काम नहीं करते हैं। "आरई और संकुल को एक निश्चित संस्करण के रूप में प्राप्त करना" अच्छा होगा " – TooTone

+2

लेखकों ने आर का संस्करण और किसी भी विश्लेषण में प्रत्यक्ष या अप्रत्यक्ष रूप से उपयोग किए जाने वाले सभी संकुलों के संस्करण को पुन: उत्पन्न करने की अनुमति देने के लिए सबसे अच्छा होगा। –

+0

हां, एक सहयोगी से आपके लिए सभी उठाने के लिए कहें। :) –

उत्तर

4

यह पूरी तरह से अनचाहे है (मैं आर का नवीनतम संस्करण चला रहा हूं और इस समय परीक्षण करने के लिए आर के पुराने संस्करण को स्थापित करने के लिए कोई समय नहीं है), लेकिन शायद एक विचार है कि " पुरालेख "पैकेज के लिए पृष्ठ, अपने आर संस्करण की तारीख से तुलना करें, और सबसे हाल के संस्करण से शुरू होने वाले पहले संस्करणों को स्थापित करने का प्रयास करें।

इस तरह एक प्रारंभिक बिंदु हो सकता है:

install_archive <- function(PackageName) { 
    if(!require("XML")) 
     install.packages("XML") 
    if(!require("devtools")) 
     install.packages("devtools") 
    rVersionDate <- as.Date(paste(R.Version()[c("year", "month", "day")], 
           collapse = "-")) 
    BaseURL <- "http://cran.r-project.org/src/contrib/Archive/" 
    u <- htmlParse(paste(BaseURL, PackageName, sep = "")) 
    doc <- readHTMLTable(u, skip.rows=1:2)[[1]][2:3] 
    releaseDate <- as.Date(strptime(doc$`Last modified`, 
            format="%d-%b-%Y")) 
    Closest <- which.min(rVersionDate - 
         releaseDate[releaseDate <= rVersionDate]) 
    install_url(paste(BaseURL, doc$Name[Closest], sep = "")) 
} 

install_archive("reshape") 

यहाँ से, मैं कार्य करने के लिए कम से कम निम्नलिखित बातें जोड़ना होगा:

  • मैं पहली बार स्थापित करने का प्रयास करेंगे सबसे वर्तमान संस्करण ("पुरालेख" से नहीं), और यदि यह विफल रहता है, तो आगे बढ़ें।
  • आगे बढ़ने में, मैं which.min() लाइन rank() पर बदल दूंगा, और रैंक == 1, रैंक == 2, और इसी तरह से प्रयास करें, शायद अधिकतम रैंक सेट करने का प्रयास करें।

फिर भी, यह "अनुमान और जांच" का बहुत कुछ है, केवल सॉफ्टवेयर ही अनुमान लगा रहा है और आपके लिए स्वचालित रूप से जांच कर रहा है। और, ज़ाहिर है, वही सलाह है कि शायद एक अच्छा कारण यह है कि यह क्रैन पर नहीं है!

+0

+1 का उपयोग कर सकते हैं! मैं सहमत हूं कि पीछे की तरह समर्थन के बिना उदा। उबंटू के पुराने वितरण के लिए, आर के पुराने संस्करणों को चलाने का प्रभावी और मजबूत माध्यम होना मुश्किल होगा। –

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