मेरा सवाल यह है कि आर में किसी अन्य फ़ंक्शन में फ़ंक्शन से किसी चर के नाम को निकालने का तरीका कैसे है?एक फ़ंक्शन में एक चर के नाम को कैसे निकाला जाता है जिसे आर में किसी अन्य फ़ंक्शन से बुलाया जाता है?
a <- function(variable) {
print(deparse(substitute(variable)))
internala(substitute(variable))
}
internala <- function(variableXX) {
namex=deparse(substitute(variableXX))
print(namex)
}
समारोह a
निम्नलिखित परिणाम देता है कॉलिंग:
समझाने के लिए, यहाँ एक उदाहरण है
>a(whatever)
[1] "whatever"
[1] "substitute(variable)"
जिसका मतलब है कि मैं a
से चर whatever
के नाम निकाल सकते हैं, लेकिन internala
से नहीं।
इस पर कोई विचार?
किसी भी मदद की सराहना की जाएगी!
मारिया
बस स्पष्ट होने के लिए, आप क्या व्यवहार चाहते हैं? मुझे लगता है कि आप 'एक (जो कुछ भी' प्रिंट करना चाहते हैं, जो भी दो बार प्रिंट करें? यदि आप 'internala (जो कुछ भी) निष्पादित करते हैं, तो क्या आप भी आउटपुट चाहते हैं 'जो भी' हो? क्या होगा यदि आप foo <- function (b) {a (b)} को कॉल करते हैं; foo (बार)? –
हां, आपने सही ढंग से अनुमान लगाया है, मैं चाहता हूं कि (जो कुछ भी दो बार प्रिंट करें, इंटर्नला (जो कुछ भी) प्रिंट करने के लिए और जहां मैं वास्तव में अटक गया, वही है जो आपने इंगित किया है, यह है कि अगर मेरे पास कोई अन्य फ़ंक्शन है foo <- function (बी) {ए (बी)}, मुझे दो बार प्रिंट करने के लिए foo (bar) चाहिए। क्या यह स्पष्ट है? क्या आपको यह जानने का कोई विचार है कि यह कैसे करें? बहुत कुछ टीएनएक्स! मारिया – Maria
अंतिम मामले के आधार पर, ऐसा लगता है कि आप अभिव्यक्ति को शीर्ष स्तर पर कॉल करने के लिए सभी तरह से विस्तार करना चाहते हैं, लेकिन आगे नहीं? ताकि अगर foo2 <- function (b) {foo (b + 1)} भी थे, तो आप foo2 (बार) बार बार 1 बार प्रिंट करने के लिए चाहते हैं? –