2013-07-20 6 views
7

एक डेटा फ्रेम में मेरे पास हैआर में एक स्ट्रिंग से एकल उद्धरण को कैसे हटाएं?

"X1" "X2" 
"1" 53 "'[email protected]'" 
"2" 54 "'[email protected]'" 
"3" 55 "'[email protected]'" 
"4" 56 "'[email protected]'" 

मैं कैसे 2 कॉलम में स्ट्रिंग से एकल उद्धरण निकालूँ की तरह पाठ?

उत्तर

12

पाठ बदलने के लिए, (g)sub का उपयोग करें:

result <- gsub("'", '', yourString) 

समारोह vectorised है, ताकि आप एक पाश की आवश्यकता के बिना अपने डेटा फ्रेम पर सीधे आवेदन कर सकते हैं या एक apply:

df$X2 <- gsub("'", '', df$X2) 
+0

समस्या हल हो गई! : डी धन्यवाद! वेक्टर किए गए विकल्प के लिए – phoenix

+0

+1! – phoenix

2
df[,2] <- gsub("'", '', df[,2], fixed=TRUE) 

मुझे लगता है कि तय डिफ़ॉल्ट है, लेकिन यह स्पष्ट होने के लिए कभी दर्द नहीं होता है।

माफ़ी, पोस्ट के शीर्षक को "आर में एक स्ट्रिंग से कैसे हटाएं (एक) एकल उद्धरण के रूप में पढ़ें"

+0

'निश्चित = TRUE' डिफ़ॉल्ट नहीं है लेकिन इस मामले में इससे कोई फर्क नहीं पड़ता है। हालांकि, अकेले 'उप' यहां काम नहीं करेगा, ओपी को 'gsub' की आवश्यकता है। –

0

मुझे अन्यथा राज्यों को पता है, लेकिन वह वास्तव में क्या करना चाहता है यह इस दूसरे कॉलम को खोलना है, जो पूंछ को हटाने और अग्रणी एकल उद्धरण को दूर करना है। यह थोड़ा बढ़ाया रेगेक्स के साथ किया जा सकता है:

gsub("(^')|('$)", "", df$X2) 
संबंधित मुद्दे