2015-03-11 11 views
5

करने के लिए डेटा फ्रेम मूल्यों छोटा करने के लिए मैं अपने data.frame में से एक स्तंभ के मानों को संक्षिप्त करना चाहते हैं। अभी, प्रत्येक मान, कई पत्र के होते हैं इस तरह के आर: पहला वर्ण

df$col1 
[1] AHG ALK OPH BCZ LKH QRQ AAA VYY 

रूप

है कि मैं क्या जरूरत है केवल पहला अक्षर है:

df$col1 
[1] A A O B L Q A V 

मैं अन्य प्रविष्टियों को पढ़ लिया है कि gsub, stri_replace_all_charclass, या strsplit उपयोग करने के लिए सुझाव दिया । लेकिन मुझे डर है कि मुझे इसे लागू करने में मदद की ज़रूरत है।

+1

'substr (" AHG " , 1, 1) '' – Roland

+2

strtrim (एक्स, चौड़ाई) ' – rmuc8

उत्तर

6

आप उपयोग कर सकते हैं strtrim

df$col1 <- strtrim(df$col1, 1) 
+2

मुझे इस समारोह के बारे में पता नहीं था। मैं सफेद स्थान को हटाने के लिए 'stringr' से एक समान कार्य' str_trim' का उपयोग करें। इस विकल्प को – akrun

+0

साझा करने के लिए धन्यवाद अगर हम पीछे की ओर ट्रिम करने के लिए है? –

3

stringr पैकेज महान है:

require(stringr) 

df <- data.frame(col1 = c("AHG", "ALK", "OPH", "BCZ", "LKH", "QRQ", "AAA", "VYY")) 

str_sub(df$col1, 1, 1) 

[1] "A" "A" "O" "B" "L" "Q" "A" "V" 
+2

क्यों आप एक पैकेज यहाँ की जरूरत है? सिंटैक्स बेस फ़ंक्शन 'सबस्ट्र' के लिए बिल्कुल वैसा ही है। – Roland

1

आपको क्या करना होगा-स्ट्रिंग समारोह है:

df$col1 <- substr(df$col1, 1, 1) 
1

मैं रॉबिन के साथ सहमत हैं। substr या सबस्ट्रिंग फ़ंक्शन का उपयोग सीधे किसी भी पैकेज इंस्टॉल किए बिना चाल करना होगा।

df$col1 <- substr(df$col1, 1, 1) 

या df $ col1 < - सबस्ट्रिंग (df $ col1,1,1)

उपयोग वाक्य रचना substr (लक्ष्य वेक्टर, जगह शुरू, बंद करो जगह)

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