2016-12-12 5 views
2

この関数は、rテキストマイニングパッケージ(tm)を使用してツイートのURLを削除するスクリプトで使用しています。私の驚いたことに、クリーンアップ後に、いくつかの残った "http"単語とURL自体からのフラグメント(t.coなど)があります。一部のURLは完全に消去されているようですが、他の部分は単にコンポーネントに分解されているようです。何が原因だろうか?注:私はを取った。 t.co URLにStackOverflowではURLをt.coアドレスに送信することはできません。URLパッケージを削除するTMパッケージのgsub関数は、文字列全体を削除しません。

toSpace <- content_transformer(function (x , pattern) gsub(pattern, " ", x)) 
trumpcorpus1020to1109 <- tm_map(trumpcorpus1020to1109, toSpace, "/") 
trumpcorpus1020to1109 <- tm_map(trumpcorpus1020to1109, toSpace, "@") 
trumpcorpus1020to1109 <- tm_map(trumpcorpus1020to1109, toSpace, "\\|") 
removeURL <- function(x) gsub("(f|ht)tp(s?)://(.*)[.][a-z]+", "", x) 
trumpcorpus1020to1109 <- tm_map(trumpcorpus1020to1109, removeURL) 

あなたのremoveURL機能が探しているシンボルを削除する

vote today go https tco mxraxyntjy find polling location going make america great https tco kpqeyvwq

+3

スラッシュを削除した後に 'removeURL()'関数を実行しているため、正規表現が実行されていません。何にもマッチするその 'tm_map()'を他のものの前に移動してください。 – MrFlick

答えて

7

を洗浄した後

VOTE TODAY! Go to https://tco/KPQ5EY9VwQ to find your polling location. We are going to Make America Great Again!… https://tco/KPQ5EY9VwQ

テキストを清掃する前に、テキスト。また、content_transformer()で適切なトランス機能を作成する必要があります。

library(tm) 
test<-"VOTE TODAY! Go to https://t.com/KPQ5EY9VwQ to find your polling location. We are going to Make America Great Again!… https://t.com/KPQ5EY9VwQ" 

trumpcorpus1020to1109 <- VCorpus(VectorSource(test)) 
removeURL <- content_transformer(function(x) gsub("(f|ht)tp(s?)://\\S+", "", x, perl=T)) 
trumpcorpus1020to1109 <- tm_map(trumpcorpus1020to1109, removeURL) 
toSpace <- content_transformer(function (x , pattern) gsub(pattern, " ", x)) 
trumpcorpus1020to1109 <- tm_map(trumpcorpus1020to1109, toSpace, "/") 
trumpcorpus1020to1109 <- tm_map(trumpcorpus1020to1109, toSpace, "@") 
trumpcorpus1020to1109 <- tm_map(trumpcorpus1020to1109, toSpace, "\\|") 
content(trumpcorpus1020to1109[[1]]) 
# [1] "VOTE TODAY! Go to to find your polling location. We are going to Make America Great Again!… " 
関連する問題