2017-10-16 13 views
-1

いくつかの基本的なテキスト解析にRを利用しようとしています。文字列から特定のフレーズを削除する

私は複雑なデータ型を含む列を持っています。最初のデータ列から特定のフレーズを削除するために使用できる別のテーブルを維持したいと考えています。

私はgsubfnを試しましたが、成功しませんでした。例

dirtydata <- c("JOHN COURT","@PETER","BOB 22","RUPERT BODY CORPORATE") 
removefields <-c("COURT","BODY CORPORATE") 

については

x <- gsubfn(removefields,"",dirtydata) 

動作しないのはなぜ?出力

c("JOHN ","@PETER","BOB 22","RUPERT ") 
+0

追加の読み込みパッケージの名前を含めてください。あなたは 'gsub(paste(removefields、collapse =" | ")、" "、dirtydata)' – Jimbou

+0

を試すことができます[複数の文字列を同じもので置き換える方法](https://stackoverflow.com/questions)/28285480/how-to-replace-multiple-strings-with-the-r)または[this one](https://stackoverflow.com/questions/24645390/r-remove-multiple-text-strings)を参照してください。 -in-data-frame) – Jimbou

答えて

0

を使用することができます使用して編集したコードの下に見つけてくださいbaseの機能R

dirtydata <- c("JOHN COURT","@PETER","BOB 22","RUPERT BODY CORPORATE") 
removefields <-c("COURT","BODY CORPORATE") 
pastedFields = paste0(removefields,collapse = "|") 
gsub(pastedFields,"",dirtydata) 
+0

詳しいことはできますか?私はあなたがベクトルを除いてリスト形式で出力を得ていると仮定していますか?その場合は、データの列に適用したコード行を入力してください –

0

を願い

はこれを試してみてください。

dirtydata <- c("JOHN COURT","@PETER","BOB 22","RUPERT BODY CORPORATE") 
removefields <-c("COURT | BODY CORPORATE") 
x <- gsub(removefields, "", dirtydata) 
0

これは、あなたがremovefieldsに入れて何のために一般化して削除する文字列の周りの空白を取り除き:

dirtydata <- c("JOHN COURT","@PETER","BOB 22","RUPERT BODY CORPORATE") 
removefields <- c("COURT","BODY CORPORATE") 
removefields <- paste0("\\s+", removefields, "\\s+", collapse = "|") 
x <- gsub(removefields, "", dirtydata) 
0

我々はtmパッケージ

dirtydata <- c("JOHN COURT","@PETER","BOB 22","RUPERT BODY CORPORATE") 
removefields <-c("COURT","BODY CORPORATE") 

library(tm) 
removeWords(dirtydata, removefields) 

> removeWords(dirtydata, removefields) 
[1] "JOHN " "@PETER" "BOB 22" "RUPERT " 
関連する問題