2017-02-25 9 views
1

私はRでTwitterの抽出を行っていますが、出力を分析すると、数えられたスペースと数字も多くなります。私は、次を得るwordc私は実行するとテキスト分析で空白と数字を削除する

tweets <- searchTwitter('weather', n=10,lang='en') 
t <- twListToDF(tweets) 
tw.text <- t[,"text"] 
tw.text <- tolower(tw.text) 
tw.text <- removeWords(tw.text,c(stopwords('en'),'rt')) 
tw.text <- removePunctuation(tw.text,TRUE) 
tw.text <- unlist(strsplit(tw.text,' ')) 
word <- sort(table(tw.text),TRUE) 
wordc <- head(word,n=10) 

> wordc 
tw.text 
         RT  weather  County   EST  Severe Thunderstorm  Warning   25  430PM 
      31   4   4   3   3   3   3   3   2   2 

あなたは、私が31枚のエントリブランク、2を見るとどのように私は、私は、次のコードを使用していますこれらの

を削除することができますエントリ数は25で、2エントリは430PMです。これらのタイプのエントリを削除するにはどうしたらいいですか?

答えて

1

​​の後には、テキスト要素のベクトルがあります。 subwhich関数を使用して、空白でない値を取得することができます。ここでは例です:もちろん

foo <- c("hi"," ","  ","test") 
bar <- foo[which(sub(" +","",foo)!="")] 
length(bar) 
[1] 2 
print(bar) 
[1] "hi" "test" 

、あなたは各エントリから削除されたすべてのスペースが必要な場合は、あなたが取り除か値格納するために周りのsub機能を移動することができます

(すなわち sub(" +","",foo)はあなたにスペースなしでベクトルを与えます。)
+0

Jeffに感謝します。それはスペースの読み込みを取得します!どのように数字の読み取りを取得する任意のアイデア? – Selrac

+1

[Regular Expressions](https://en.wikipedia.org/wiki/Regular_expression)やRegExについて少しお読みください。代入関数族( 'grep'、' sub'、 'gsub'など)を使って、あなたが気にしている正規表現に一致する要素を見つけることができます。この場合、 'sub(" [0-9] + "、" "、bar)'は数字を削除します。 [このサイト](https://regex101.com/)は、ロジックをテストし、正規表現を使って何をしているのかを視覚化するのに適したリソースです(また、右側に便利なガイドがあります)。 –

+0

ところで、私は(おそらく)何年かの間にいくつかの悪いコーディング習慣を学んだので、 'sub()を使用するときの説明については[this StackOverflow answer](http://stackoverflow.com/a/6766915/4709191) 'vs' gsub'です。 'gsub'を使うと、私の以前のコメントはいくらか読みやすくなります。' gsub( "[0-9]"、 ""、bar) 'ie。 'bar'の中の任意の数値を空白' '" 'でグローバルに置き換えます。 –

関連する問題