याद रखें, आर सब कुछ ऑपरेशन एक फ़ंक्शन कॉल (इसलिए असाइनमेंट ऑपरेशंस) है और जो कुछ भी मौजूद है वह एक वस्तु है। रिप्लेसमेंट कार्यों में कार्य रूप में यदि वे इस तरह के
colnames(d) <- c("Input", "Output")
में वे अपने नाम के अंत में पहचानकर्ता <-
है और तर्क वस्तु का एक संशोधित प्रतिलिपि वापसी के रूप में जगह में अपने तर्क को संशोधित (गैर आदिम प्रतिस्थापन कार्यों) या एक ही वस्तु (आदिम प्रतिस्थापन कार्यों)
आर प्रॉम्प्ट पर, निम्नलिखित कार्य नहीं करेगा:
> `second` <- function(x, value) {
+ x[2] <- value
+ x
+ }
> x <- 1:10
> x
[1] 1 2 3 4 5 6 7 8 9 10
> second(x) <- 9
Error in second(x) <- 9: couldn't find function "second<-"
आप देख सकते हैं, आर 012,373,286 के लिए पर्यावरण खोज कर रहा है नहींलेकिन second<-
के लिए।
> `second<-` <- function(x, value) {
+ x[2] <- value
+ x
+ }
अब, वेक्टर के दूसरे स्थान पर काम काम करता है::
> second(x) <- 9
> x
[1] 1 9 3 4 5 6 7 8 9 10
मैं भी सूचीबद्ध करने के लिए एक सरल पटकथा लिखी तो एक ही बात करते हैं, लेकिन इसके बजाय इस तरह के एक समारोह पहचानकर्ता का उपयोग करके की सुविधा देता है आर बेस पैकेज में सभी प्रतिस्थापन कार्यों, find it here।
यह एसओ –
के लिए एक पूरी तरह से स्वीकार्य क्यू है ['स्तर <-' (यह क्या जादू है?] (Http://stackoverflow.com/questions/10449366/levels-what-sorcery-is-this) –
देखें ** विस्तारित आर.- जॉन चेम्बर्स (2016) **: * पृष्ठ 73 से 79 अध्याय 5 * –