কেবল সম্পূর্ণতার জন্য, আপনাকে এই সমস্যা থেকে বাঁচানোর কিছু উপায় রয়েছে। যেমন ডার্ক বলেছেন, আপনার প্যাকেজগুলি আপনার কম্পিউটারে অন্য ডিরেক্টরিতে সংরক্ষণ করুন।
install.packages("thepackage",lib="/path/to/directory/with/libraries")
আপনি ডিফল্ট পরিবর্তন করতে পারেন .Library
মান ফাংশন ব্যবহার করে .libPaths
খুব
.libPaths("/path/to/directory/with/libraries")
এটি এই পথটিকে প্রথম মান হিসাবে স্থাপন করবে .Library
ভেরিয়েবলের করবে এবং এটি ডিফল্ট করে তুলবে।
আপনি যদি এটিকে আরও স্বয়ংক্রিয় করতে চান তবে আপনি এটি আরআরফোফিল.সাইট ফাইলে নির্দিষ্ট করতে পারবেন যা আপনি আপনার আর বিল্ডের / ইত্যাদি / ডিরেক্টরিতে খুঁজে পান। তারপরে এটি প্রতিবার আর লোড হওয়ার পরে স্বয়ংক্রিয়ভাবে লোড হবে এবং আপনাকে আর আর এটি নিয়ে চিন্তা করতে হবে না। আপনি কেবল নির্দিষ্ট ডিরেক্টরি থেকে প্যাকেজ ইনস্টল ও লোড করতে পারেন।
পরিশেষে, আমার আরআরফিল ফাইলটিতে একটি ছোট্ট কোড অন্তর্ভুক্ত রয়েছে Iসাইটটিতে যখন আমি একটি নতুন আর সংস্করণ ইনস্টল করি তখন সমস্ত প্যাকেজ পুনরায় ইনস্টল করার অনুমতি দেয়। নতুন আর সংস্করণে আপডেট করার আগে আপনাকে সেগুলি তালিকাবদ্ধ করতে হবে। আমি সমস্ত প্যাকেজ সহ একটি আপডেট তালিকা থাকা একটি .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()
আমার আরপ্রোফিল.সাইটে নির্দিষ্ট করে প্যাকেজলিস্ট তৈরি করেছি Rআর ডেটা। আমি কিছু ইনস্টল করলে এটি প্যাকেজ তালিকা আপডেট করে:
.Last <- function(){
pkgs <- installed.packages()[,1]
if (length(pkgs) > length(installed)){
save(pkgs,file="G:\Setinfo\R\packagelist.RData")
}
}
যখন আমি একটি নতুন আর সংস্করণ ইনস্টল করি, তখন আমি কেবলমাত্র প্রয়োজনীয় উপাদানগুলি আরপোফিল.সাইট ফাইলটিতে যুক্ত করি এবং সমস্ত প্যাকেজ পুনরায় ইনস্টল করা হয়। আমাকে যাইহোক RPofile.site সামঞ্জস্য করতে হবে (সমষ্টি বিপরীতে ব্যবহার করে, Tinn-R এর জন্য অতিরিক্ত কোড যুক্ত করুন, এই জিনিসগুলি), সুতরাং এটি আসলে অতিরিক্ত কাজ নয়। নতুনভাবে সমস্ত প্যাকেজ ইনস্টল করতে এটি অতিরিক্ত সময় নেয়।
এই শেষ বিটটি সমাধান হিসাবে মূল প্রশ্নে যা দেওয়া হয় তার সমান। আমাকে প্রথমে "ইনস্টলড" তালিকাটি পাওয়ার বিষয়ে চিন্তা করার দরকার নেই।
আবার, আপনার যদি CRAN থেকে ইনস্টল না করা প্যাকেজগুলি থাকে তবে এটি নির্দোষ কাজ করে না। তবে এই কোডগুলি সেগুলিও অন্তর্ভুক্ত করার জন্য সহজেই প্রসারিত।