समस्या यह है कि आप ग्राफिक्स नाम स्थान को layout
के अपने नए संस्करण बताए रहे हैं, जो environment(graphics:::layout)
द्वारा वापस किया जाता है। इसके बजाय संलग्न ग्राफिक्स पैकेज (यानी आपके खोज पथ पर "package:graphics"
के रूप में दिखाई देने वाला वातावरण) में असाइनमेंट करना चाहते हैं।
अपने उदाहरण में, जब layout
की तलाश में, आर नीचे search()
द्वारा दिया संलग्न पैकेजों की सूची खोज करता है, और इससे पहले कि यह कभी आप namespace:graphics
में निर्दिष्ट किया है और कार्य करने के लिए हो जाता है package:graphics
में मूल layout
पाता है,।
समाधान, सरल है पहली पंक्ति में env
करने के लिए सौंपा पर्यावरण के केवल एक परिवर्तन की आवश्यकता होती है:
# Assign into <environment: package:graphics>
# rather than <environment: namespace:graphics>
env <- as.environment("package:graphics")
unlockBinding("layout" , env = env)
assign("layout" , function(){} , envir = env)
lockBinding("layout" , env = env)
# Now it works as expected
layout
# function(){}
एक थोड़ा और अधिक विस्तार, कुछ करने के लिए उपयोगी हो सकता है कि:
search() # Shows the path along which symbols typed at the command
# will be searched for. The one named "package:graphics"
# is where 'layout' will be found.
# None of these return the environment corresponding to "package graphics"
environment(layout)
environment(graphics::layout)
environment(graphics:::layout)
# This does
as.environment("package:graphics")
स्रोत
2011-12-28 22:09:05
सब - मैं हाल ही में पर्यावरण से संबंधित सभी सवालों के लिए क्षमा चाहता हूं। यह एक जटिल और भ्रमित विषय साबित हो रहा है। यदि कोई अनुशंसित रीडिंग सामग्री है (मानक आर पीडीएफ के अलावा जो बहुत उपयोगी नहीं हैं) तो कृपया मुझे बताएं! – SFun28
क्षमा न करें; मैंने खुद से बहुत कुछ सीखा है। मेरे पास यह नहीं है, लेकिन मैंने सुना है कि [चैंबर] (http://www.amazon.com/Software- डेटा- विश्लेषण- प्रोग्रामिंग- सांख्यिकी/डीपी/1441926127/ref=sr_1_9?s=books&ie = यूटीएफ 8 और क्यूआईडी = 1325110851 और एसआर = 1-9) पुस्तक आर प्रोग्रामिंग (सांख्यिकीय कंप्यूटिंग के विपरीत) बाइबल की तरह है। – joran
मैंने वास्तव में एक घंटा पहले उस पुस्तक का आदेश दिया था। =) इसे नीचे इंतजार नहीं कर सकता। प्रोत्साहन के शब्दों के लिए धन्यवाद, जोरन! – SFun28