2015-09-24 6 views
5

में पहली सफेद स्थान से पहले सभी स्ट्रिंग को दूर gsub मैं इस तरह के डेटा फ्रेम है:उपयोग आर

name   weight 
r apple   0.5 
y pear   0.4 
y cherry  0.1 
g watermelon 5.0 
pp grape  0.5 
y apple pear 0.4 
... ... 

मैं नाम स्तंभ में पहले सफेद स्थान से पहले सभी पात्रों को दूर करना चाहते हैं। क्या कोई मुझे एक पक्ष दे सकता है? धन्यवाद!

उत्तर

5

इस प्रयास करें:

sub(".*? (.+)", "\\1", D$name) 
+0

यह एक काम करता है। धन्यवाद, @ जोटा! – cutebunny

5

तो D अपने डेटा फ्रेम है, कोशिश

sub(".+? ", "", D$name) 
+0

क्षमा करें कहा जाता है चलो, मैं कोशिश की, लेकिन "वाई सेब नाशपाती" के लिए, यह मुझे केवल नाशपाती नाशपाती नहीं नाश करेगा। मैं पहली जगह से पहले आखिरी जगह से पहले सब कुछ हटाना चाहता हूं। फिर भी आपका धन्यवाद! – cutebunny

+1

पैटर्न बनाएं: "^ [^] +" –

+1

पैटर्न को बदलने का प्रयास करें "+?" ' –

1

मान लें कि आपका डेटा फ्रेम 'df'

library(reshape2)  
df$name = colsplit(df$name," ", names = c("chuck","name"))[,2]