2013-04-09 5 views
42

आसान:आर में एक्सेल के LEFT() और दाएं() के बराबर क्या है? कि के रूप में

a <- paste('left', 'right', sep = '') 
> a 
[1] "leftright" 

अब मैं एक b पाठ स्ट्रिंग जो a के पहले 4 पत्र के बराबर है उत्पादन करना चाहते हैं, वह यह है कि

> b 
[1] "left" 

मुझे क्या करना चाहिए है?

उत्तर

44

देखें ?substr

R> substr(a, 1, 4) 
[1] "left" 
27

stringr पैकेज str_sub समारोह है, जो थोड़ा आसान है substr से उपयोग करने के लिए प्रदान करता है, खासकर यदि आप अपने स्ट्रिंग के सही भाग निकालना चाहते हैं:

R> str_sub("leftright",1,4) 
[1] "left" 
R> str_sub("leftright",-5,-1) 
[1] "right" 
+3

धन्यवाद; जिस तरह से मुझे लगता है कि मैं आरसीएस के जवाब को स्वीकार करूंगा क्योंकि यह आधार 'आर' से संबंधित है :) –

+0

कोई समस्या नहीं, आपका स्वागत है! – juba

+3

आधार आर को जानना अच्छा है, लेकिन यदि स्ट्रिंग फ़ंक्शंस की बात आती है, तो यदि आप केवल @juba –

15

आप Rbase पैकेज से शुरू होने वाले दाएं() और बाएं() फ़ंक्शन आसानी से प्राप्त कर सकते हैं:

  • सही समारोह

    right = function (string, char){ substr(string,nchar(string)-(char-1),nchar(string)) }

  • बाईं समारोह

    left = function (string,char){ substr(string,1,char) }

आप बिल्कुल के रूप में छोड़ दिया() और सही() एक्सेल में उन दो कस्टम functios उपयोग कर सकते हैं। आशा है कि आप इसे उपयोगी

1

इसे सरल बनाने और अनुसंधान बुनियादी कार्यों का उपयोग मिलेगा:

# To get the LEFT part: 
> substr(a, 1, 4) 
[1] "left" 
> 
# To get the MIDDLE part: 
> substr(a, 3, 7) 
[1] "ftrig" 
> 
# To get the RIGHT part: 
> substr(a, 5, 10) 
[1] "right" 

substr() समारोह आपको बताता है कि कहां से शुरू करने और अपने संकेत, जुबा के लिए बंद substr(x, start, stop)

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