আমি প্রায়শই নিজেকে আর স্ক্রিপ্টগুলি লিখতে দেখি যা প্রচুর আউটপুট উত্পন্ন করে। আমি এই আউটপুটটিকে তার নিজস্ব ডিরেক্টরিতে (গুলি) স্থাপন করা পরিষ্কার মনে করি। আমি নীচে যা লিখেছি তা ডিরেক্টরিটির অস্তিত্বের জন্য যাচাই করবে এবং এতে প্রবেশ করবে, বা ডিরেক্টরিটি তৈরি করবে এবং তারপরে এটি সরাবে। এর কাছে যাওয়ার আরও ভাল উপায় কি আছে?
mainDir <- "c:/path/to/main/dir"
subDir <- "outputDirectory"
if (file.exists(subDir)){
setwd(file.path(mainDir, subDir))
} else {
dir.create(file.path(mainDir, subDir))
setwd(file.path(mainDir, subDir))
}
setwd()
আর আর কোডে কখনও ব্যবহার করা উচিত নয় - এটি মূলত একটি ওয়ার্কিং ডিরেক্টরি ব্যবহার করার ধারণাটিকে পরাস্ত করে কারণ আপনি আর আপনার কম্পিউটারের মধ্যে সহজেই আপনার কোডটি সরিয়ে নিতে পারবেন না।
.bat
ফাইল হবে যা শেষ ব্যবহারকারীকে কখনও সংশোধন করতে হবে না।
setwd
নেটওয়ার্কের পথগুলির সাথে কাজ করার দরকার নেই । ফলাফলগুলি সংরক্ষণের জন্য আপনাকে কেবলমাত্র পাথ সরবরাহ করতে হবে এবং এখনও চলমান পাথের সাথে কাজ করতে হবে (আর সেশন শুরু হওয়ার সাথে সাথে এটিই প্রতিষ্ঠিত হবে)। অথবা ইচ্ছে কাজ করার ডিরেক্টরি দিয়ে আর।
out_dir <- "path/to/output/directory"
এবং তারপরে ব্যবহার করুন write.table(file = file.path(out_dir,"table_1.csv"), ...)
। বা out_file <- function(fnm) file.path("path/to/output/directory", fnm)
তারপরেও write.table(file = out_file("table_1.csv"), ...)
(নেটওয়ার্ক ড্রাইভের সাথে কাজ করার সময় আমি একই জাতীয় পদ্ধতি ব্যবহার করি)।