पूर्णता के लिए, इस समस्या को होने से रोकने के लिए कुछ तरीके हैं। जैसा कि डिर्क ने कहा, अपने पैकेज को अपने कंप्यूटर पर किसी अन्य निर्देशिका में सहेजें।
install.packages("thepackage",lib="/path/to/directory/with/libraries")
आप .Library
फ़ंक्शन का उपयोग करके डिफ़ॉल्ट मान .libPaths
भी बदल सकते हैं
.libPaths("/path/to/directory/with/libraries")
यह इस पथ को .Library
चर में पहले मूल्य के रूप में रखेगा, और इसे डिफ़ॉल्ट बना देगा।
यदि आप इसे और स्वचालित करना चाहते हैं, तो आप इसे Rprofile.site फ़ाइल में निर्दिष्ट कर सकते हैं, जो आपको अपने R बिल्ड के / etc / directory में मिलती है। फिर यह हर बार आर लोड होने पर स्वचालित रूप से लोड होगा, और आपको इसके बारे में कोई चिंता करने की ज़रूरत नहीं है। आप बस निर्दिष्ट निर्देशिका से पैकेज स्थापित और लोड कर सकते हैं।
अंत में, मेरे कुछ छोटे कोड मेरे Rprofile.site में शामिल हैं, जब मैं एक नया R संस्करण स्थापित करने पर मुझे सभी पैकेजों को पुनर्स्थापित करने की अनुमति देता हूं। नए R संस्करण में अपडेट करने से पहले आपको उन्हें सूचीबद्ध करना होगा । मैं एक .RData फ़ाइल का उपयोग करके सभी संकुल के साथ एक अद्यतन सूची रखता हूँ।
library(utils)
## Check necessary packages
load("G:\Setinfo\R\packagelist.RData") # includes a vector "pkgs"
installed <- pkgs %in% installed.packages()[, 'Package']
if (length(pkgs[!installed]) >=1){
install.packages(pkgs[!installed])
}
मैं .Last()
अपने Rprofile.site में निर्दिष्ट करके packagelist.RData बनाता हूं। यदि मैंने कुछ स्थापित किया है तो यह पैकेज सूची को अद्यतन करता है:
.Last <- function(){
pkgs <- installed.packages()[,1]
if (length(pkgs) > length(installed)){
save(pkgs,file="G:\Setinfo\R\packagelist.RData")
}
}
जब मैं एक नया R संस्करण स्थापित करता हूं, तो मैं Rprofile.site फ़ाइल में आवश्यक तत्वों को जोड़ता हूं और सभी पैकेजों को पुनर्स्थापित किया जाता है। मुझे वैसे भी Rprofile.site को समायोजित करना है (सम विषम का उपयोग करके, Tinn-R, इन चीजों के लिए अतिरिक्त कोड जोड़ना), इसलिए यह वास्तव में अतिरिक्त काम नहीं है। यह सभी पैकेजों को नए सिरे से स्थापित करने में अतिरिक्त समय लेता है।
मूल प्रश्न में हल के रूप में जो दिया गया है उसके बराबर यह अंतिम बिट है। मुझे पहले "इंस्टॉल" सूची प्राप्त करने के बारे में चिंता करने की आवश्यकता नहीं है।
यदि आपके पास CRAN से स्थापित नहीं हैं, तो फिर से, यह निर्दोष काम नहीं करता है। लेकिन यह कोड उन लोगों को भी शामिल करने के लिए आसानी से विस्तार योग्य है।