मेरी .Rprofile में से कुछ समाप्त होने पर मुझे निम्नांकित दो पंक्तियों मेरी .First
data.table के टेबल() फ़ंक्शन मेरी .Rprofile कार्यों
makeActiveBinding(".refresh", function() { system("R"); q("no") }, .GlobalEnv)
makeActiveBinding('.rm', function() {rm(list=ls(envir = .GlobalEnv),envir=.GlobalEnv); gc()}, .GlobalEnv)
में परिभाषित किया है वे आमतौर पर हानिरहित हैं, जब तक कि मैं उन्हें दुर्घटना से टाइप ! पहला .refresh
फ़ंक्शन बनाता है जो आर सत्र को छोड़ देगा और पुनरारंभ करेगा। दूसरा वैश्विक पर्यावरण खाली करता है। हालांकि, data.table
से tables()
फ़ंक्शन का उपयोग करते समय ये दो फ़ंक्शन चलाए जाते हैं जो वास्तव में वांछनीय नहीं हैं।
इस पल के लिए, मैंने उन्हें अपने .First
से हटा दिया है, लेकिन अगर मैं इससे बचने का कोई तरीका हूं तो मैं उत्सुक हूं। tables()
समारोह में उल्लंघन करने पंक्तियां हैं:
tt = objects(envir = env, all.names = TRUE)
ss = which(as.logical(sapply(tt, function(x) is.data.table(get(x,
envir = env)))))
यही कारण है कि कैसे मैं उन्हें शुरू में लिखा था, लेकिन अपनी उंगलियों टाइपिंग से बहुत थक गया मिल गया '()' है कि मैं आग के साथ खेलने का फैसला किया ... – Justin
पर्याप्त मेला। अगर आप उस आग को जारी रखने की कोशिश करते हैं, हालांकि, समय के साथ यह आपको कुछ कीस्ट्रोक से अधिक खर्च कर देगा;) –
वर्तमान वातावरण की जांच करने का कोई तरीका नहीं है टी, या एक पैरामीटर जो कहता है "यह एक इंटरैक्टिव वातावरण है ...", और अपने कार्यों को उस जानकारी का उपयोग यह तय करने के लिए करते हैं कि निष्पादित करना है या नहीं? –