2013-07-20 4 views
7

私は2列目の文字列から単一引用符を削除するにはどうすればよいRの文字列から一重引用符を削除するにはどうすればよいですか?データフレームで

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

のようなテキストがありますか?あなたはループを必要とせずに、あなたのデータフレームに直接適用することができるように機能がベクトル化され

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

のかapply:テキストを置き換えるには

答えて

12

(g)subを使用

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

問題が解決しました! :D ありがとう! :) – phoenix

+0

+1ベクトル化オプション! – phoenix

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

私はfixedがデフォルトだと思っていますが、明白であることは決してありません。

お詫び申し上げます。記事のタイトルを「Rの文字列から一重引用符を削除するにはどうすればよいですか?

+0

'fixed = TRUE'はデフォルトではありませんが、この場合は違いはありません。しかし、 'sub 'だけではここでは動作しません.OPには' gsub'が必要です。 –

0

私はそうでないことを知っていますが、彼が実際にやりたいことは、この2番目の列をアンラップすることです。つまり、テーリングと先頭の単一引用符を取り除くことです。これはわずかに強化された正規表現で行うことができます:

gsub("(^')|('$)", "", df$X2) 
関連する問題