मैं अक्सर अपने आप को आर स्क्रिप्ट लिखता हूं जो बहुत सारे आउटपुट उत्पन्न करता है। मुझे लगता है कि इस आउटपुट को स्वयं की निर्देशिका में रखना क्लीनर है। नीचे मैंने जो लिखा है वह किसी निर्देशिका के अस्तित्व की जाँच करेगा और उसमें चला जाएगा, या निर्देशिका बनाकर फिर उसमें चला जाएगा। क्या यह दृष्टिकोण करने का एक बेहतर तरीका है?
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"), ...)
(इसी तरह की विधि जब मैं नेटवर्क ड्राइव के साथ काम करता हूं)।