2012-05-03 18 views
13

मैं आर में इस कोड लिखनेकैसे मान प्राप्त करने हेतु चर नाम एक स्ट्रिंग

paste("a","b","c") 

जो मूल्य "abc"

चर abc रिटर्न 5 का एक महत्व है (जैसे) के रूप में पारित हो जाता है जब कैसे करना है मुझे "abc" मिल गया है मुझे मूल्य 5 देने के लिए as.value(paste("a","b","c")) जैसे कोई फ़ंक्शन है जो मुझे उत्तर 5 देगा? मैं अपना संदेह सरल सरल बना रहा हूं और यह वही है जो मैं चाहता हूं। तो कृपया मेरी मदद करो। अग्रिम

+3

[एफएक्यू 7.21] (http://cran.r-project.org/doc/FAQ/R-FAQ.html#How-can-I-turn-a-string-into-a-variable_003f) –

उत्तर

27

paste("a","b","c") धन्यवाद वैसे भी देता है "a b c" नहीं "abc"

, मुझे लगता है कि आप get() लिए देख रहे हैं:

> abc <- 5 
> get("abc") 
[1] 5 
+0

तो आप रिवर्स कैसे करते हैं? कुछ की तरह (5) "एबीसी" – Bharath

6

साचा के जवाब में नया।

assign(paste("a", "b", "c", sep = ""), 5) 
+6

आप नए पेस्ट 0 (...) 'का उपयोग भी कर सकते हैं जो' पेस्ट (..., sep = "") ' –

6

यह निश्चित रूप आर भाषा के बारे में सबसे पूछे जाने वाले प्रश्नों में से एक है, इसकी बुराई जुड़वां भाई "के साथ मैं x='myfunc' कैसे चालू करूं: आप एक वस्तु" abc "paste() उपयोग करने के लिए एक मूल्य प्रदान करना चाहते हैं एक निष्पादन योग्य समारोह में? " संक्षेप में, get, parse, eval, expression सभी अच्छी चीजें सीखने के लिए हैं। सबसे उपयोगी (आईएमएचओ) और कम से कम ज्ञात do.call है, जो आपके लिए स्ट्रिंग-टू-ऑब्जेक्ट रूपांतरण कार्य का बहुत अधिक ख्याल रखता है।

+0

के लिए छोटा है, लेकिन यह हो सकता है, लेकिन ये जब आप आर का उपयोग करना शुरू करते हैं तो चीजें स्पष्ट नहीं होती हैं। एफएक्स को पढ़ने में भी मुश्किल होती है, अगर आप उस भाषा में उपयोग नहीं करते हैं जिसका उपयोग वे वहां करते हैं (कम से कम देशी वक्ताओं के लिए) – Mikko

+0

@ लार्ग, यही है "आर-इन्फर्नो "~ _ * के लिए है –

संबंधित मुद्दे